UVA 562
来源:互联网 发布:什么电台软件好听 编辑:程序博客网 时间:2024/05/16 10:01
题目大意:给你n个 有一定面值的硬币 把他分成两份 两份的差尽量少
解:从n个数中挑出一定数,使得他们的和尽量接近 sum/2, 裸01背包 ,将背包的容量看为sum/2,此处sum奇偶不影响结果,如果sum为奇数,设sum=2*k+1,sum/2=k+0.5,此时向上取整和向下取整最后得出的结果一样;
#include <iostream>#include <string.h>#include <algorithm>using namespace std;const int maxn=50010;int dp[maxn];int cost[110];int main(){int t,sum,n;cin>>t;while (t--){memset(dp,0,sizeof(dp));cost[0]=0;scanf("%d",&n);sum=0;for (int i=1;i<=n;i++){scanf("%d",&cost[i]);sum+=cost[i];}int k=sum/2;for (int i=1;i<=n;i++) for (int j=k;j>=cost[i];j--) dp[j]=max(dp[j],dp[j-cost[i]]+cost[i]); printf("%d\n",sum-2*(dp[k]));}}
阅读全文
0 0
- UVa 562
- uva 562
- uva 562
- uva 562
- uva 562
- UVA 562
- uva-562
- UVA 562
- uva 562Uva 562 Dividing coins
- uva 562 Dividing coins
- uva:562 - Dividing coins
- UVA 562 Dividing coins
- Uva 562 Dividing coins
- UVa 562 - Dividing coins
- UVA 562 Dividing coins
- uva 562 Dividing Coins
- UVa 562 - Dividing coins
- UVa 562 - Dividing coins
- javaApi免费下载
- 有一个很帅的方法,可惜我对于string的原理还是不太懂 另外unique 和sort 可以处理string呢 嗯,解决了,但还可以优化哦
- 静态成员函数、this指针、对象指针和动态对象使用小结
- python-recsys:一款实现推荐系统的python库
- 初始化实例化
- UVA 562
- Java多线程(1)——基础
- android源码解析-异步消息
- dilated_conv
- To Java程序员:切勿用普通for循环遍历LinkedList
- 第一篇博客,记录下自己的感受
- 范数汇总
- 文章标题
- Node.js(一)