NYOJ-邮票分你一半(dp)
邮票分你一半
描述:
小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在每张邮票的分值已经知道了,他们已经分好了,你知道最后他们得到的邮票分值和相差多少吗?
输入:
第一行只有一个整数m(m<=1000),表示测试数据组数。
接下来有一个整数n(n<=1000),表示邮票的张数。
然后有n个整数Vi(Vi<=100),表示第i张邮票的分值。
输出:
输出差值,每组输出占一行。
样例输入:
2
5
2 6 5 8 9
3
2 1 5
样例输出:
0
2
程序代码:
#include<stdio.h>
#include<string.h>
int max(int x,int y);
int a[1010],dp[100010];
int main()
{int n,i,j,sum,t;scanf("%d",&t);while(t--){scanf("%d",&n);sum=0;memset(dp,0,sizeof(dp));for(i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}for(i=0;i<n;i++)for(j=sum/2;j>=a[i];j--)dp[j]=max(dp[j],dp[j-a[i]]+a[i]);printf("%d\n",sum-2*dp[sum/2]);}return 0;
}
int max(int x,int y)
{if(x>y)return x;return y;
}
NYOJ-邮票分你一半(dp)相关推荐
- NYOJ 456 邮票分你一半
邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使 ...
- 【nyoj-456】 邮票分你一半 (dp,0-1背包的中点问题)
题干: 邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份 ...
- nyoj 456 邮票分你一半【01背包】
邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使 ...
- NYOJ 456 邮票分你一半
描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在 ...
- noj 邮票分你一半z的生日
点击打开链接 点击打开链接两道题其实是一样的就是用平分后的01背包问题:让一方尽最大可能达到sum/2那这个差值就会转化成最小,而我们想到的就是01背包问题. #include<stdio.h& ...
- 鸿蒙天钟壁纸,黑白·隔离区·壁纸系列:我的世界分你一半,钟意的话就拿走吧!...
现在的社会,网络越来越发达,大家基本上,都会选择各种聊天软件,进行交流与沟通,这样其实特别方便,也不用受距离的束缚,许多人在使用时,为了让界面更加美观,或者是与心中最重要的人聊天时,便会加上一些可爱的 ...
- 【CCCC】L3-020 至多删三个字符 (30分),序列dp+去重
problem L3-020 至多删三个字符 (30分) 给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串? 输入格式: 输入在一行中给出全部由小写 ...
- nyoj 720 项目安排(dp+二分优化)
项目安排 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个 ...
- nyoj 61(双线程dp)
题目描述: 在一个矩阵内找出两条从1,1到m,n的路径(一条从1,1 到 m,n 一条 从m,n到1,1),并且路径之上的权值之和最大. 解题思路:这道题目如果是想从(1,1)->(n,m),再 ...
最新文章
- 基于指定文本的百度地图poi城市检索的使用(思路最重要)
- Golang --- package
- 查看Redis集群所有节点内存工具
- 翻译:TRUNCATE TABLE(已提交到MariaDB官方手册)
- JAVA中的枚举使用总结
- 描述个人品质常用英语单词一览 常用赞誉之辞语
- Python sys.path、sys.modules模块介绍
- JAVA 事务不生效的常见场景和修改方案
- 31个惊艳的数据可视化作品,让你感受“数据之美”!
- 信息化知识中的重点:商业智能(BI)详解
- rockchip eDP 配置
- 从Spring源码探究AOP代码织入的过程
- 89c51的万年历c语言,用AT89C51与DS1302做的万年历c语言编程
- 字符串分隔 【问题描述】 输入两个字符串str和cut。cut由若干个字符构成,其中每个字符均可作为一个分隔字符对str进行分隔。
- [UOJ198]时空旅行
- html自动缩放不出现滚动条,HTML页面缩小后显示滚动条的示例代码
- Android apk和aab互相转换
- uni-app海报保存制作
- 英语老师教计算机,英语教案-小学计算机老师教案?
- 音视频学习之-YUV裸数据