hdu2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 多重背包
2014-11-29 17:56
316 查看
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
这道题暑假集训的时候做过,重新做这题的时候 发现原来可以不用之前那么多烦人的数组,按背包的思路直接做顺着下去就好了。
这道题暑假集训的时候做过,重新做这题的时候 发现原来可以不用之前那么多烦人的数组,按背包的思路直接做顺着下去就好了。
</pre><pre name="code" class="cpp">#include<cstdio> #include<cstring> #include<cstdlib> using namespace std; #define Max(a,b) ((a>b)?a:b) const int N = 102; int dp ; int main() { //freopen("text.in","r",stdin); //freopen("my.in","w",stdout); int cas, n, m; while(~scanf("%d", &cas)) while(cas --) { memset(dp, 0, sizeof(dp)); int p, h, c, i; scanf("%d%d", &n, &m); while(m --) { scanf("%d%d%d", &p, &h, &c); for(i = 1; i < c; i <<= 1) { for(int j = n; j >= i * p; j --) dp[j] = Max(dp[j], dp[j-i*p] + i * h); c -= i; } int t = c; if(t) for(int j = n; j >= t * p; j --) dp[j] = Max(dp[j], dp[j-t*p] + h * t); } printf("%d\n", dp ); } return 0; }之前的代码
#include<cstdio> #include<cstdlib> #include<cstring> #define N 102 using namespace std; #define Max(a,b) ((a>b)?a:b) int dp ; int weig ,value ,c ; int main() { //freopen("text.in","r",stdin); //freopen("std.in","w",stdout); int t,i,j,wk,vk,vc,mk,k,n,m; while(~scanf("%d",&t)) { while(t --) { memset(dp,0,sizeof(dp)); scanf("%d%d",&n,&m); for(i = 0; i < m; i ++) scanf("%d%d%d",value+i,weig+i,c+i); for(j = 0; j < m; j ++) { mk = c[j]; for(k = 1; mk > 0; k <<= 1) { mk -= k; if(mk <0) k += mk; wk = weig[j] * k; vk = value[j] * k; for(i = n; i >= vk; i --) dp[i] = Max(dp[i], dp[i - vk] + wk); } } printf("%d\n",dp ); } } return 0; }
相关文章推荐
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (这个只是题目名字) (多重背包)
- HDU2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活[多重背包]
- [原]hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (这个只是题目名字) (多重背包)
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- [原]hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (这个只是题目名字) (多重背包)
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (这个只是题目名字) (多重背包)
- HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包经典)
- HDU2191:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (这个只是题目名字) (多重背包)
- hdu2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【多重背包模板题】
- 【背包专题】E - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 hdu2191【多重背包】
- HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活,多重背包+二进制优化
- HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 【多重背包】
- hdu2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(完全背包)
- hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【单调队列优化多重背包】
- hdu2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- hdu2191- 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活(多重背包)
- 【多重背包】HDU2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【模板】
- HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活--hdu2191(多重背包模板)