HDU 1712 ACboy needs your help(二维DP)
2012-07-27 20:28
375 查看
题目链接
中规中矩的二维DP,披着背包的外衣,但感觉和背包没有毛线关系吧。
状态转移 p[i][j] = max(p[i-1][j-k]+o[i][k]) k:0 to j i代表课程j代表时间.
中规中矩的二维DP,披着背包的外衣,但感觉和背包没有毛线关系吧。
状态转移 p[i][j] = max(p[i-1][j-k]+o[i][k]) k:0 to j i代表课程j代表时间.
#include <stdio.h> #include <string.h> int p[101][101],o[101][101]; int main() { int i,j,k,n,m,max; while(scanf("%d%d",&n,&m)!=EOF) { if(!n&&!m) break; memset(p,0,sizeof(p)); memset(o,0,sizeof(o)); for(i = 1;i <= n;i ++) { for(j = 1;j <= m;j ++) scanf("%d",&o[i][j]); } for(i = 1;i <= m;i ++) { p[1][i] = o[1][i]; } for(i = 2;i <= n;i ++) { for(j = 0;j <= m;j ++) { max = 0; for(k = 0;k <= j;k ++) { if(max < p[i-1][j-k] + o[i][k]) max = p[i-1][j-k] + o[i][k]; } p[i][j] = max; } } max = 0; for(i = 1;i <= m;i ++) { if(max < p [i]) max = p [i]; } printf("%d\n",max); } return 0; }
相关文章推荐
- HDU--1712--ACboy needs your help--分组背包/DP
- HDU 1712 ACboy needs your help(DP 分组背包)
- HDU 1712 ACboy needs your help DP
- HDU 1712 ACboy needs your help(简单分组DP)
- HDU 1712 ACboy needs your help-dp-(分组背包模型)
- HDU 1712 ACboy needs your help(泛化物品dp)
- hdu 1712 ACboy needs your help (dp 分组背包)
- HDU 1712 ACboy needs your help(DP)
- 【DP】HDU 1712 ACboy needs your help 背包
- 【DP】HDU 1712 ACboy needs your help 背包
- HDU_1712 ACboy needs your help(DP)
- hdu 1712 ACboy needs your help dp
- hdu1712---ACboy needs your help(dp,分组背包)
- hdu 1712 ACboy needs your help(分组背包入门题)
- hdu1712 ACboy needs your help
- hdu 1712 ACboy needs your help
- HDU - 1712 - ACboy needs your help【最最最最经典的 分组背包】
- hdu 1712 ACboy needs your help(分组背包)
- HDU 1712 ACboy needs your help(包背包)
- hdu 1712 ACboy needs your help (分组背包)