
背包问题
faze clan _Niko
这个作者很懒,什么都没留下…
展开
-
完全背包问题解法
前提:读者已经会背包问题的一维解法O(n^3)的复杂度的算法 实质上就是对能拿多少次进行一个枚举,这里面指的就是k的个数 #include<iostream> using namespace std; const int N = 1005; int f[N]; int v[N],w[N]; int main() { int n,m; cin>>n>>m; for(int i=1; i<=n; i++) cin>...原创 2020-07-23 01:07:01 · 233 阅读 · 0 评论 -
01背包问题一维与二维解法
算法思路 f[i][j]:表示的是只看前i个物品里面,体积为j种最大的价值 那就分为两种,拿和不拿 1.f[i][j]=f[i-1][j] 你不拿的情况和f[i-1][j]一致 2.f[i][j]=max(f[i][j],f[i-1][j-v[i]]+w[i]) 从小到大依次计算即可 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int...原创 2020-07-23 00:59:03 · 334 阅读 · 0 评论