采药-rqnoj-15
2013-05-02 15:06
253 查看
典型的背包动规。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int t,m,a[110],b[110],f[110][1010];
void init()
{
freopen("cai.in","r",stdin);
freopen("cai.out","w",stdout);
}
void readdata()
{
scanf("%d",&t);
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
scanf("%d%d",&a[i],&b[i]);
}
}
void work()
{
for(int i=1;i<=m;i++)
{
for(int j=0;j<=t;j++)
{
if(i==1)
f[i][j]=0;
else
f[i][j]=f[i-1][j];
if(a[i]<=j)
f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+b[i]);
}
}
printf("%d",f[m][t]);
}
int main()
{
//init();
readdata();
work();
return 0;
}
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int t,m,a[110],b[110],f[110][1010];
void init()
{
freopen("cai.in","r",stdin);
freopen("cai.out","w",stdout);
}
void readdata()
{
scanf("%d",&t);
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
scanf("%d%d",&a[i],&b[i]);
}
}
void work()
{
for(int i=1;i<=m;i++)
{
for(int j=0;j<=t;j++)
{
if(i==1)
f[i][j]=0;
else
f[i][j]=f[i-1][j];
if(a[i]<=j)
f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+b[i]);
}
}
printf("%d",f[m][t]);
}
int main()
{
//init();
readdata();
work();
return 0;
}
相关文章推荐
- RQNOJ--15--采药(动态规划)
- 【解题报告】[动态规划] RQNOJ - PID15 / 采药
- RQNOJ 15采药(0/1背包)
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 动态规划 DP 3 <优化的一位数组 >
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 网上
- rqnoj-15
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 递归 1
- (RQoj 15采药------rwkj 10.1.5.253 1447) 记忆式搜索 1
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 动态规划 DP 1
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 递归 2
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 记忆式搜索 2
- rnqoj-15-采药--压缩区间
- (RQoj 15 采药------rwkj 10.1.5.253 1447) 动态规划 DP 2
- rqnoj-17-过河
- PowerDesiger 15逆向生成工程E-R图及导出word表格
- Intellij Idea 15 生成serialVersionUID的方法
- 2013年8月11日星期日(7。15 色彩动画)
- OC学习笔记 (10-15-18)
- unit 15 文档练习
- PHP学习笔记15——错误与异常