摘要: 因为每件物品可以无限买,所以是完全背包。 三种商品重量手动赋值即可。 因为这道题求的是最大重量,所以状态转移方程改为 f[j] = max(f[j],f[j - w[i]] + w[i]) 。 #include<bits/stdc++.h> using namespace std; int w[4] 阅读全文
posted @ 2020-11-29 13:17 樱雪喵 阅读(108) 评论(0) 推荐(0) 编辑
摘要: emmm 01 背包模板... 设 f[i] 表示背包容积为 i 时所得的最大价值。 则状态转移方程为 f[j] = f[j - w[i]] + c[i] 。 #include<bits/stdc++.h> using namespace std; int w[1001],c[1001],t,m,f 阅读全文
posted @ 2020-11-29 13:09 樱雪喵 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 01背包问题。 与模板不同,这道题要求的是最小剩余空间,也就是求背包里最多能放多少东西。 所以状态转移方程变为 fi= fi - w[i] + wi 。 其中 fi 表示当背包容量为 i 时可放的最大重量。 注意要倒着循环。 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2020-11-29 08:42 樱雪喵 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 然而并不会做。 最后就照着题解码了一遍/kk 真的好长啊。看时间就知道写了多久... upd in 2022: 我现在已经找不到原题面是什么了( 不过感觉把这样一篇不算题解的东西放进“题解”里,多少有点不合适呢() #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2020-11-29 00:07 樱雪喵 阅读(386) 评论(1) 推荐(1) 编辑