算法训练营day46

完全背包和01背包的区别就是是否可以重复使用,在代码上就是 j 的 for 循环从前向后遍历还是从后向前遍历

题目:52. 携带研究材料(第七期模拟笔试) (kamacoder.com)

复制代码
#include<iostream>
#include<vector>

using namespace std;

int main() {
    int N, V;
    cin >> N >> V;
    vector<int> wegiht(N, 0);
    vector<int> val(N, 0);
    for(int i = 0;i < N;i++) {
        cin >> wegiht[i] >> val[i];
    }
    vector<int> dp(V + 1, 0);
    for(int i = 0;i < N;i++) {
        for(int j = wegiht[i];j <= V;j++) {
            dp[j] = max(dp[j], dp[j - wegiht[i]] + val[i]);
        }
    }
    cout << dp[V] << endl;
    return 0;
}

题目2:518. 零钱兑换 II - 力扣(LeetCode)

先物品再背包是组合,先背包再物品是排列

复制代码
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];
    }
};

题目3:377. 组合总和 Ⅳ - 力扣(LeetCode)

复制代码
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] >= 0 && dp[j] < INT_MAX - dp[j - nums[i]]) {
                    dp[j] += dp[j - nums[i]];
                }
            }
            for(int j = 0;j <= target;j++) {
                cout << dp[j] << ",";
            }
            cout << "---------" << endl;
        }
        return dp[target];
    }
};
相关推荐
启观川9 分钟前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法
对空六课21 分钟前
指标口径生效时间的版本查询实现
大数据·服务器·前端·算法·数据分析
对空六课25 分钟前
RFM分层边界变化的回溯计算
大数据·服务器·前端·数据库·人工智能·算法·数据分析
一勺思维33 分钟前
我为什么把 Agent 的核心逻辑从 LangChain 里搬出来手写
算法
碧海银沙音频科技研究院1 小时前
基于炬芯ATS308X的LE aduio LC3编解码算法功能实现
算法
小蒋观天下1 小时前
厂区人员徘徊游荡判别——基于时序轨迹速度的逗留行为分级算法落地
大数据·人工智能·深度学习·算法·机器学习·ai大模型
程序员清风1 小时前
堆与优先队列:从 Top K 到任务调度
java·数据结构·算法
shaibdoio1 小时前
瞬维AI技术拆解:AI获客智能体的双层漏斗算法原理
大数据·人工智能·算法
宛 禾1 小时前
Qt 控件入门:QLabel 从拖拽到对象树,一篇讲透
c++·qt·学习
suhan1 小时前
【数据结构】四、串:串string、模式匹配BF\KMP、广义表
数据结构·后端·算法