HDU 1171
2016-05-22 21:52
183 查看
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1050; int t; int v,m; int dp[250100],value[5100]; int main() { int k; while(scanf("%d",&t)!=EOF) { k=0; memset(value,0,sizeof(value)); memset(dp,0,sizeof(dp)); int maxs=0; if(t<0) break; for(int i=0;i<t;i++) { scanf("%d%d",&v,&m); while(m--) { value[k++]=v; maxs+=v; } } for(int i=0;i<k;i++) { for(int j=maxs/2;j>=value[i];j--) { dp[j]=max(dp[j],dp[j-value[i]]+value[i]); } } printf("%d %d\n",maxs-dp[maxs/2],dp[maxs/2]); } return 0; }
这个题目也就是一个01背包,只是一开始可能看不出来,这就比较的愁了。看出来的话 还是很简单的,这个的价值和重量都是在这个题目的意思里是价值的指标的意思。
注意好这些点的话,解决还是不难的,可以发现最近做的题目来看的话还是蛮多题目是01背包的变形的。
相关文章推荐
- Android自定义控件之入门篇---整理网络上的资源
- windows.old删除方法
- 11.2 configparser--配置文件分析库
- APP开发实战32-HTTP Keep-Alive模式介绍
- 命令模式在Android实际场景中运用
- 设计模式之---适配器模式
- 设计模式之---策略模式
- Linux下安装memcached-1.4.25
- 如何高效的访问内存
- 11.2 configparser--配置文件分析库
- All X(思维)
- 设计模式之---观察者模式
- jsp中form表单绑定action中的方法
- 动态规划 DAG模型 硬币问题
- 11.1 csv--CSV文件读写库
- oacle 删除重复数据
- leetcode 268. Missing Number-寻找丢失的数|位运算
- Python decorator guide
- 设计模式之---装饰者模式
- 设计模式之---工厂模式