首页 > 其他分享 >AcWing 5.多重背包问题

AcWing 5.多重背包问题

时间:2022-10-10 19:14:15浏览次数:85  
标签:多重 cnt 背包 int www https dp AcWing

题目链接:https://www.acwing.com/problem/content/5/

博客链接:https://www.cnblogs.com/marswithme/p/16756244.html

放AC代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N = 25000, M = 2010;
 4 int n, m;
 5 int v[N], w[N];
 6 int dp[N];
 7 
 8 int main()
 9 {
10     cin >> n >> m;
11     int cnt = 0;//记录共有几组新物品
12     for(int i = 1; i <= n; i ++)
13     {
14         int a, b, s;//价值、体积、个数
15         cin >> a >> b >> s;
16         int k = 1;
17         while(k <= s)
18         {
19             cnt ++;
20             v[cnt] = a * k;
21             w[cnt] = b * k;
22             s -= k;
23             k *= 2;
24         }
25         if(k > 0)
26         {
27             cnt ++;
28             v[cnt] = a * s;
29             w[cnt] = b * s;
30         }
31     }
32 
33     n = cnt;
34 
35     for(int i = 1; i <= n; i ++)
36         for(int j = m; j >= v[i]; j --)
37             dp[j] = max(dp[j], dp[j-v[i]] + w[i]);
38 
39     cout << dp[m] << endl;
40     return 0;
41 }

 

标签:多重,cnt,背包,int,www,https,dp,AcWing
From: https://www.cnblogs.com/marswithme/p/16776826.html

相关文章

  • AcWing算法提高课 容斥原理
    容斥原理的复杂度是2^n,一般n不会很大形如:  由于容斥原理一共有2^n中选法,可以用二进制枚举,1表示选择某个条件。然后将偶数个1的状态加起来,奇数个1的状态减去例题:ht......
  • acwing.第72场周赛 t3最小移动距离
    AcWing4626.最小移动距离原题链接:https://www.acwing.com/problem/content/4629/思路要求对于每一个点x都满足走过t,到达一个目标点y.并且x和y都可以互为目标点。找出......
  • 吴恩达机器学习复习2:多重特征、多重变量的梯度下降、梯度下降实践Ⅰ:数据特征缩放、梯
    【多重特征】多变量线性回归可以有任何输入变量的等式的表示方法  假设  使用矩阵乘法的定义,我们的多变量假设功能可以被简洁地描述为  这是未来我们为训......
  • 关于 多重背包
    问题描述:有N种物品和一个容量为V的背包,第i件物品最多有Si 件。每件体积是w[i],价值是v[i]。求解将哪些物品装入背包可使价值总和最大。问题特点:第i件物品......
  • AcWing算法提高课 卡特兰数
    卡特兰数的基本模型是,(0,0)->(n,n)且不越过x=y这条线等价于另一个模型:01序列且全部前缀中0的个数都大于1,其中0对应于x方向移动,1对应y方向移动例题:https://www.acwing.co......
  • 背包问题
    背包问题01背包给你n个物品,价值分别为w,体积分别为v,求这些物品放入体积为V的背包可获得的最大价值。对于每个物品,我们有两种选择,选这件物品,或不选,所以我们的状态就是,......
  • AcWing算法提高课 分解质因数求组合数
    模板:intprimes[N],cnt;boolnot_prime[N];voidInit(){for(inti=2;i<N;i++){if(!not_prime[i]){primes[cnt++]=i;......
  • 多重积分合元 - 余面积公式法
    该定理由Songby提出.余面积公式\[\iint\limits_Dg(x,y)\textdS=\int_a^b\int\limits_Lg(x,y)\frac{\textdy}{f_x}\textdz\]我们来证明这个定理.画出\(f(x......
  • AcWing 3.完全背包问题
    题目链接:https://www.acwing.com/problem/content/3/博客链接:https://www.cnblogs.com/marswithme/p/16737193.html 放AC代码1#include<bits/stdc++.h>2using......
  • css多重背景
    background-size(背景尺寸)background-origin(定义背景图像的位置)background-clip(背景的绘制区域)多重背景CSS允许您通过background-image属性为一个元素添加多幅背......