UVa 562 - Dividing coins
来源:互联网 发布:上海太平洋保险java 编辑:程序博客网 时间:2024/04/29 11:55
题目:给定m个硬币分成两组,求两组和的最小差值。
分析:dp、背包。经典01背包模型,把硬币看成体积和价值相同的物品即可,利用背包求出总和一半的价值的容量能取得的最大价值,然后sum-2*f[sum/2]即为结果。
#include <stdio.h>#include <stdlib.h>#include <string.h>int coin[ 105 ];int f[ 50005 ];int main(){int n,m;while ( scanf("%d",&n) != EOF )for ( int t = 1 ; t <= n ; ++ t ) {scanf("%d",&m);int sum = 0;for ( int i = 1 ; i <= m ; ++ i ) {scanf("%d",&coin[i]);sum += coin[i];}memset( f, 0, sizeof(f) );for ( int i = 1 ; i <= m ; ++ i )for ( int j = sum/2 ; j >= coin[i] ; -- j )if ( f[j] < f[j-coin[i]]+coin[i] )f[j] = f[j-coin[i]]+coin[i];printf("%d\n",sum-2*f[sum/2]);}return 0;}
- 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
- 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
- AndroidManifest权限声明中英文对照完整列表
- dede的描述字节修改
- org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res
- LBS-----基站轨迹定位算法
- Scrum开发真的能比传统调研开发方式更高效吗??
- UVa 562 - Dividing coins
- 利用SLR实现可编程计算器(表达式求值)
- ORACLE之pivoting insert等
- 修改sitemap网站地图的连接地址
- 2010-07-15 10:58 递归删除SVN工作目录下的.svn目录
- android paint paintText 粗体 中文
- ORACLE中ROLLUP 用法
- php正则学习
- 设计模式六大原则(1):单一职责原则