nyoj 456 邮票分你一半【01背包】
邮票分你一半
- 描述
- 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在每张邮票的分值已经知道了,他们已经分好了,你知道最后他们得到的邮票分值和相差多少吗?
- 输入
-
第一行只有一个整数m(m<=1000),表示测试数据组数。
接下来有一个整数n(n<=1000),表示邮票的张数。
然后有n个整数Vi(Vi<=100),表示第i张邮票的分值。 - 输出
- 输出差值,每组输出占一行。
- 样例输入
-
2 5 2 6 5 8 9 3 2 1 5
- 样例输出02
【思路】我们可以先算出邮票的总价值,然后取总价值的一般作为包,然后转换为01背包问题。
-
AC代码:
#include<cstdio> #include<math.h> #include<string.h> #include<algorithm> using namespace std; int main() {int n, m;scanf("%d", &m);while(m--){int sum = 0, f[100005], v[100005];scanf("%d", &n);memset(f, 0, sizeof(f));//必不可少 for(int i = 0; i < n; i++){scanf("%d", &v[i]);sum += v[i];}int sum2 = sum;sum /= 2;int len = 1; for(int i = 0; i < n; i++){for(int j = sum; j >= v[i]; j--)f[j] = max(f[j], f[j-v[i]] + v[i]);}printf("%d\n", sum2 - 2*f[sum]);} return 0; }
转载于:https://www.cnblogs.com/123tang/p/5866570.html
nyoj 456 邮票分你一半【01背包】相关推荐
- NYOJ 456 邮票分你一半
邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使 ...
- NYOJ 456 邮票分你一半
描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在 ...
- 【nyoj-456】 邮票分你一半 (dp,0-1背包的中点问题)
题干: 邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份 ...
- 【CCCC】L3-001 凑零钱 (30分),,01背包路径打印
problem L3-001 凑零钱 (30分) 韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债.韩梅梅手边有 ...
- noj 邮票分你一半z的生日
点击打开链接 点击打开链接两道题其实是一样的就是用平分后的01背包问题:让一方尽最大可能达到sum/2那这个差值就会转化成最小,而我们想到的就是01背包问题. #include<stdio.h& ...
- NYOJ-邮票分你一半(dp)
邮票分你一半 描述: 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小) ...
- 【Codeforces 741 B. Arpa's weak amphitheater and Mehrdad's 】+ 并查集 + 01背包
B. Arpa's weak amphitheater and Mehrdad's valuable Hoses time limit per test 1 second memory limit p ...
- 7-1 0-1背包 (50分)
7-1 0-1背包 (50分) 给定n(n<=100)种物品和一个背包.物品i的重量是wi,价值为vi,背包的容量为C(C<=1000).问:应如何选择装入背包中的物品,使得装入背包中物品 ...
- NYOJ 860 又见01背包
有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值. 1 <= n <=100 1 <= wi < ...
最新文章
- r语言 调用c windows,R:window()函数
- FICO 最常用配置表
- 【杭州站参会指南】神策 2020 数据驱动用户大会,邀您面基!
- Android商城开发系列(一)——开篇
- 数据结构专题二:2.6链表删除结点
- oracle除了什么之外,Oracle翻译
- ubuntu 安装osx 主题 转自linux公社
- 小武与剑指offer的恩怨情仇
- 情感原因识别相关论文整理
- Workbench螺栓连接的模拟方法
- 惊!一文看懂Java NIO读写文件
- Mac PS CC2018详细软件按照教程
- tdengine和mysql区别_TDEngine Game Framework
- C++11 文件读写(vs2019 安装配置boost库)
- vue 数字滚动count-to插件,支持小数(包含vue3,网上整理)
- ElasticSearch实现商品搜索与聚合分析
- 06 Jewels and Stones
- C语言中数据放在哪里
- 不同类型的固态继电器
- 开通斐讯橙汁plus会员 获取白金奖励计划