51nod1007:正整数分组 DP
第1行:一个数N,N为正整数的数量。 第2 - N+1行,N个正整数。 (N <= 100, 所有正整数的和 <= 10000)
输出这个最小差
5 1 2 3 4 5
1
和POJ1014分宝石的思路差不多,看前一个整数到达的差值计算这个整数到达的差值,最后取最小值。
代码:
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#pragma warning(disable:4996)
using namespace std;int n;
int val[1005];
int dp[1005][10005];int main()
{memset(dp, 0, sizeof(dp));int i, j, len;scanf("%d", &n);for (i = 1; i <= n; i++){scanf("%d", &val[i]);}dp[0][5000] = 1;for (i = 1; i <= n; i++){for (j = 0; j <= 10000; j++){if (dp[i - 1][j]){dp[i][j + val[i]] = dp[i][j - val[i]] = 1;} }}for (len = 0; len <= 5000; len++){if (dp[n][5000 + len]){cout << len << endl;return 0;}}return 0;
}
51nod1007:正整数分组 DP相关推荐
- 51Nod 1007 正整数分组 | DP (01背包)
Input示例 5 1 2 3 4 5 Output示例 1 分析:2组的差最小,那么每一组都要接近sum/2,这样就转化成了普通的0 - 1背包了 #include <bits/stdc++. ...
- 51 Nod 1007 正整数分组【类01背包】
1007 正整数分组 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组, ...
- 正整数分组(51Nod-1007)
题目 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. 输入 第1行:一个数N,N为正整数的数量. ...
- HDU 1712 裸分组dp
http://acm.hdu.edu.cn/showproblem.php?pid=1712 N门课M天复习,第i门课花费j天获得的效益是dp[i][j] 求最大效益 分组背包,同一门课不能选两次 三 ...
- 51Nod 1007 正整数分组(01背包)
将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. Input 第1行:一个数N,N为正整数的数量. ...
- 51nod 正整数分组
将一堆正整数分为2组,要求2组的和相差最小. 显然我们可以把所有可能组合成的数求出来. 然后从总和的中间开始往大找,找到了就是其中一个的分组,就可以求出答案了. #include<cstdio& ...
- - 动规讲解基础讲解八——正整数分组
将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. 整数个数n<=100,所有整数的和<= ...
- 51nod 1128 正整数分组 V2(二分)
给出一个长度为N的正整数数组,不改变数组元素的顺序,将这N个数分为K组.各组中元素的和分别为S1,S2....Sk.如何分组,使得S1至Sk中的最大值最小? 例如:1 2 3 4 5 6分为3组,{1 ...
- HDU 1712 ACboy needs your help(简单分组DP)
http://acm.hdu.edu.cn/showproblem.php?pid=1712 m天复习n门课程,得分最高 代码: #include<iostream> #include&l ...
- Java实现 藏宝架的宝物(分组DP,7.27阿里面试题)
有个藏宝架有n层,每层的宝物数量不一,每个宝物都有其价值,现在要求拿出m个宝物,并且需要遵守规则: 每次只能拿选定层的两端的宝物 要拿出的m个宝物的总价值是各种方案里最大的 输入: n是层数,m是挑选 ...
最新文章
- 嵌入式驱动开发 视频学习推荐
- 【BZOJ1492】[NOI2007]货币兑换Cash 斜率优化+cdq分治
- 远程java接口说明
- Fast Stone超好用的截图工具,可截取长图,带滚动条的页面
- Oracle学习(十六)Oracle安装
- 使用vue控制元素显示隐藏
- NetBeans 7.4的本机Java打包
- Halcon学习笔记——机器视觉应用工程开发思路及相机标定
- 以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
- Enable SSH Server
- SHA1散列算法及其C++实现
- android框架xUtils使用介绍
- 一套简单的基本生活财富自由方案
- c语言的fprintf函数的用法,fprintf 和fscanf 函数
- 设置 Scite编辑器的默认编辑为 UTF-8 ,及其他一些参数配置
- Verilog学习之路(7)— 数字加法器
- IJCAI‘22 推荐系统论文梳理
- [VN2020 公开赛]simpleHeap-记录一次gef调试过程
- 使用Java建立一个公交管理系统,监督管理公交日常运营情况。
- 工作汇报 PPT 20PPPT-朴尔PPT
热门文章
- 电路实习报告:简易收音机的焊接
- 2018年世界计算机超算大赛,在世界大学生超级计算机竞赛(ASC18)总决赛中 青海大学超算团队成功获得ASC竞赛全球一等奖...
- Android中获取视频的第一帧图片的三种方法
- cesium 矢量图 编辑_openlayers添加、删除矢量图,多边形
- 第4.1章 飞鸟集爬虫采用结巴分词随机排序存储
- python wow自动打怪脚本官方教程_【按键精灵】魔兽世界LR 自动打怪脚本
- Windows 10 驱动开发 及 驱动签名
- Ruby与kiba的初学者etl教程
- “舒淇半停工原因”上热搜:人生下半场,拼的是健康
- tornado, twister, cyclone,Typhoon,hurricane…到底如何区别?