hdu 1712 ACboy needs your help(分组背包)
2018-03-17 16:19
399 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1712
大意:
n节课,m天,后面第i节课上j天获得的好处。
背包九讲写道:
for 所有的组k for v=V..0 for 所有的i属于组k f[v]=max{f[v],f[v-c[i]]+w[i]}注意这里的三层循环的顺序,甚至在本文的beta版中我自己都写错了。“for v=V..0”这一层循环必须在“for 所有的i属于组k”之外。这样才能保证每一组内的物品最多只有一个会被添加到背包中。
每种课为一组。#include<bits/stdc++.h>
using namespace std;
const int inf=0x7ffffff;
int dp[105],c[105];
int main(){
int n,m;
while(scanf("%d%d",&n,&m)&&(n+m)){
fill(dp,dp+105,0); //不用装满,不用上满m天课,最大化就行
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
cin>>c[j];
for(int j=m;j>=1;j--)
for(int k=1;k<=j;k++) //必然是不能超过j
dp[j]=max(dp[j],dp[j-k]+c[k]);
}
cout<<dp[m]<<endl;
}
return 0;
}
大意:
n节课,m天,后面第i节课上j天获得的好处。
背包九讲写道:
for 所有的组k for v=V..0 for 所有的i属于组k f[v]=max{f[v],f[v-c[i]]+w[i]}注意这里的三层循环的顺序,甚至在本文的beta版中我自己都写错了。“for v=V..0”这一层循环必须在“for 所有的i属于组k”之外。这样才能保证每一组内的物品最多只有一个会被添加到背包中。
每种课为一组。#include<bits/stdc++.h>
using namespace std;
const int inf=0x7ffffff;
int dp[105],c[105];
int main(){
int n,m;
while(scanf("%d%d",&n,&m)&&(n+m)){
fill(dp,dp+105,0); //不用装满,不用上满m天课,最大化就行
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
cin>>c[j];
for(int j=m;j>=1;j--)
for(int k=1;k<=j;k++) //必然是不能超过j
dp[j]=max(dp[j],dp[j-k]+c[k]);
}
cout<<dp[m]<<endl;
}
return 0;
}
相关文章推荐
- 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 (分组背包 入门题)
- hdu 1712 ACboy needs your help(分组背包)
- HDU 1712 ACboy needs your help (分组背包模版题)
- hdu 1712 ACboy needs your help 简单分组背包 每组至多选一个
- 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 分组背包
- hdu 1712 ACboy needs your help(很裸的分组背包,照着背包九讲套)
- HDU 1712 ACboy needs your help 分组背包
- HDU-1712 ACBoy needs your help (分组背包问题)
- HDU 1712 ACboy needs your help(分组背包)
- ACboy needs your help HDU - 1712 裸分组背包