HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
2012-07-26 11:05
357 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2191
裸多重背包
View Code
裸多重背包
View Code
#include <iostream> #include <algorithm> using namespace std ; int dp[10001] ; int c[101],w[101],num[101] ; int V ; bool cmp(int a,int b) { return a>b ; } void ZeroOnePack(int c,int w) { for(int i=V;i>=c;i--) dp[i]=max(dp[i],dp[i-c]+w) ; return ; } void CompletePack(int c,int w) { for(int i=c;i<=V;i++) dp[i]=max(dp[i],dp[i-c]+w) ; return ; } void MultiplePack(int c,int w,int a) { if(c*a>=V) { CompletePack(c,w) ; return ; } int k=1 ; while(k<a) { ZeroOnePack(k*c,k*w) ; a-=k ; k<<=1 ; } ZeroOnePack(a*c,a*w) ; } int main() { int t ; scanf("%d",&t) ; while(t--) { int n,m ; scanf("%d%d",&n,&m) ; for(int i=0;i<m;i++) scanf("%d%d%d",&c[i],&w[i],&num[i]) ; memset(dp,0,sizeof(dp)) ; V=n ; for(int i=0;i<n;i++) MultiplePack(c[i],w[i],num[i]) ; sort(dp,dp+10001,cmp) ; printf("%d\n",dp[0]) ; } return 0 ; }
相关文章推荐
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(动态规划)
- [HDU 2191]悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活( 多重背包 )
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)
- HDU-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包 入门题)
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 - HDU 2191 dp
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包模板)
- HDU - 2191 - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- hdu 2191 (多重背包)悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 二维费用背包
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 动态规划多重背包
- HDU 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (背包问题)
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191 (多重背包)
- HDU 2191.悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【多重背包】【4月19】