HDU 1171 Big Event in HDU(01背包)
来源:互联网 发布:广电网络电视怎么使用 编辑:程序博客网 时间:2024/06/13 12:40
题意:给出每个物体的价值和物体的数量,如何分使得A,B所得价值最接近并且A的价值不能小于B
思路:将总和平分后,就是一道01背包题了
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxm=1e6+10;int dp[maxm<<2];int v[maxm];int main(){ int n; while(scanf("%d",&n)!=EOF&&n>0) { memset(dp,0,sizeof(dp)); memset(v,0,sizeof(v)); int a,b; int l=0,sum=0; for(int i=0;i<n;i++) { scanf("%d%d",&a,&b); while(b--) { v[l++]=a; sum+=a;//求总和 } } for(int i=0;i<l;i++) { for(int j=sum/2;j>=v[i];j--) { dp[j]=max(dp[j],dp[j-v[i]]+v[i]);//01背包 } } printf("%d %d\n",sum-dp[sum/2],dp[sum/2]); } return 0;}
0 0
- HDU 1171 Big Event in HDU(01背包)
- hdu 1171 Big Event in HDU(01背包)
- HDU 1171 Big Event in HDU(01背包问题)
- HDU 1171 Big Event in HDU(01背包)
- hdu 1171 Big Event in HDU (01背包)
- HDU 1171 Big Event in HDU(01背包)
- HDU 1171 Big Event in HDU(01背包)
- hdu 1171 Big Event in HDU(01背包变形)
- HDU 1171 Big Event in HDU (DP--01背包)
- HDU 1171 Big Event in HDU(01背包)
- hdu-1171 Big Event in HDU(01背包)
- hdu 1171 Big Event in HDU(01背包&多重背包)
- [HDU 1171 Big Event in HDU]背包
- HDOJ 1171 Big Event in HDU(01背包)
- 杭电1171Big Event in HDU(01背包)
- hdu 1171 Big Event in HDU 01背包
- HDU--航但--1171--Big Event in HDU--01背包
- Big Event in HDU - HDU 1171 01背包
- 半年-足以改变一个人
- 硬件开发流程
- Hadoop Notes
- 自动释放池的使用
- WebScrab代理工具使用方法
- HDU 1171 Big Event in HDU(01背包)
- lucene中查询索引库代码入门
- leetcode-Triangle
- JavaScript-实例(表格行颜色间隔显示并高亮)
- Android利用SurfaceView画坐标轴上的波形
- Android Studio用patch更新方法
- 字符驱动之初始化设备及自动mknod(未实验)
- Java课程设计笔记-Android系统获取所有存储器路径
- @property属性的用法