hdu 1712(分组背包)
2014-05-26 17:55
134 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712
思路:这是一道简单的分组背包,因为每种课可以有多种选择:花几天时间在该课上。一旦作出选择,就不能再选该课,就相当于有多组物品,每组内的物品互相冲突,最多只能选一件。
伪码:
View
Code
思路:这是一道简单的分组背包,因为每种课可以有多种选择:花几天时间在该课上。一旦作出选择,就不能再选该课,就相当于有多组物品,每组内的物品互相冲突,最多只能选一件。
伪码:
for 所有的组k for v=V..0 for 所有的i属于组k f[v]=max{f[v],f[v-c[i]]+w[i]}
View
Code
1 #include<iostream> 2 const int MAXN=110; 3 using namespace std; 4 int dp[MAXN]; 5 int map[MAXN][MAXN]; 6 7 int main(){ 8 int n,m; 9 while(~scanf("%d%d",&n,&m)){ 10 if(n==0&&m==0)break; 11 for(int i=1;i<=n;i++){ 12 for(int j=1;j<=m;j++){ 13 scanf("%d",&map[i][j]); 14 } 15 } 16 memset(dp,0,sizeof(dp)); 17 for(int i=1;i<=n;i++){ 18 for(int j=m;j>=1;j--){ 19 for(int k=1;k<=m;k++){ 20 if(j-k>=0){ 21 dp[j]=max(dp[j],dp[j-k]+map[i][k]); 22 } 23 } 24 } 25 } 26 printf("%d\n",dp[m]); 27 } 28 return 0; 29 30 }
相关文章推荐
- hdu 1712 ACboy needs your help 分组背包
- HDU 1712 分组背包
- hdu1712 分组背包
- HDU 1712 ACboy needs your help 分组背包
- hdu_1712_ACboy needs your help(分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- HDU_1712_ACboyNeedsYourHelp(分组背包)
- HDU 1712 ACboy needs your help(分组背包模板题)
- hdu 1712 ACboy needs your help(分组背包)
- hdu 1712-分组背包
- HDU1712简单的分组背包
- hdu 1712 分组背包
- HDU - 1712 - ACboy needs your help【最最最最经典的 分组背包】
- HDU 1712 ACboy needs your help (分组背包)
- hdu 1712 分组背包
- HDU - 1712 (分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- 分组背包 hdu 1712
- HDU 1712 ACboy needs your help(分组背包)
- hdu 1712 分组背包问题