代码随想录算法训练营第37天

卡码网 52. 携带研究材料

链接

#include <iostream>
#include <vector>
using namespace std;

int knapsack(int w, vector<int>& weight, vector<int>& value) {
    vector<int> dp(w + 1, 0);
    for(int i = 0; i < weight.size(); i++) {
        for(int j = weight[i]; j <= w; j++) {
            dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);
        }
    }
    return dp[w];
}


int main() {
    int m = 0, n = 0;
    cin >> m >> n;
    vector<int> weight(m, 0);
    vector<int> value(m, 0);
    for(int i = 0; i < m; i++) {
        cin >> weight[i] >> value[i];
    }
    int res = knapsack(n, weight, value);
    
    
    cout << res << endl;
}

LeetCode 518. 零钱兑换II

链接

class Solution {
public:
// 完全背包,求组合
    int change(int amount, vector<int>& coins) {
        vector<int> dp(amount + 1, 0);
        dp[0] = 1;
        for(int i = 0; i < coins.size(); i++) {
            for(int j = coins[i]; j <= amount; j++) {
                dp[j] += dp[j - coins[i]];
            }
        }
        return dp[amount];
    }
};

LeetCode 377. 组合总和IV

链接

class Solution {
public:
// 完全背包,求排列
    int combinationSum4(vector<int>& nums, int target) {
        vector<int> dp(target + 1, 0);
        dp[0] = 1;
        for(int j = 0; j <= target; j++) {
            for(int i = 0; i < nums.size(); i++) {
                if(j >= nums[i] && dp[j] < INT_MAX - dp[j - nums[i]]) {
                    dp[j] += dp[j - nums[i]];
                }
            }
        }
        return dp[target];
    }
};

卡码网 57. 爬楼梯

链接

#include <iostream>
#include <vector>
using namespace std;

// 完全背包,求排列
int completeKnapsack(int target, int m) {
    vector<int> dp(target + 1, 0);
    dp[0] = 1;
    for(int i = 1; i <= target; i++) {
        for(int j = 1; j <= m; j++) {
            if(i >= j) {
                dp[i] += dp[i - j];    
            }
        }
    }
    return dp[target];
    
}

int main() {
    int m, n;
    cin >> n >> m;
    int ret = completeKnapsack(n, m);
    cout << ret;
}

相关推荐

  1. 代码随想算法训练30|回溯

    2024-07-15 04:00:02       29 阅读
  2. 代码随想算法训练33

    2024-07-15 04:00:02       25 阅读
  3. 代码随想算法训练35

    2024-07-15 04:00:02       20 阅读
  4. 代码随想算法训练38

    2024-07-15 04:00:02       29 阅读
  5. 代码随想算法训练34

    2024-07-15 04:00:02       25 阅读
  6. 代码随想算法训练 | 字符串

    2024-07-15 04:00:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 04:00:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 04:00:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 04:00:02       57 阅读
  4. Python语言-面向对象

    2024-07-15 04:00:02       68 阅读

热门阅读

  1. Python面试题:如何在 Python 中进行单元测试?

    2024-07-15 04:00:02       24 阅读
  2. git使用

    2024-07-15 04:00:02       20 阅读
  3. 哪个外汇平台可以交易美股?

    2024-07-15 04:00:02       19 阅读
  4. ubuntu disk

    2024-07-15 04:00:02       15 阅读
  5. 数据结构与算法基础篇--递归

    2024-07-15 04:00:02       20 阅读
  6. 来看一个14台480KW的充电站实际收入情况

    2024-07-15 04:00:02       19 阅读
  7. dify/api/models/workflow.py文件中的数据表

    2024-07-15 04:00:02       21 阅读
  8. Linux 命令集

    2024-07-15 04:00:02       23 阅读
  9. 代码随想录算法训练营第34天

    2024-07-15 04:00:02       25 阅读