N个数划分两组,差最小
来源:互联网 发布:u盘在mac上不显示文件 编辑:程序博客网 时间:2024/05/29 16:35
思路,01背包解决,复杂度O(w*n)
/** 20171127*/#include <cstdio>#include <cstring>#include <algorithm>int n;int num[400];int dp[200][400];//w nint main(){ memset(dp,0,sizeof(dp)); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&num[i]); for(int i=1;i<=180;i++) { for(int j=1;j<=n;j++) { if(num[j]<=i) { dp[i][j] = std::max(dp[i-num[j]][j-1]+num[j],dp[i][j-1]); }else { dp[i][j] = dp[i][j-1]; } dp[i][j] = std::max(dp[i][j],dp[i-1][j]); } } for(int i=1;i<=n;i++) { for(int j=0;j<=180;j+=10) printf("%3d ",dp[j][i]); printf("\n"); } int ans = 0; for(int i=1;i<=180;i++) ans = std::max(ans,dp[i][n]); printf("%d\n",(180-ans)*2); return 0;}
阅读全文
0 0
- N个数划分两组,差最小
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 腾讯2017年实习生编程题目(第三题)——有趣的数字 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 腾讯校招笔试——小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
- 2n个整数分为两组,使两组和差的绝对值最小
- 划分dp,区间差最小
- 两个数组a[n],b[n]重新排列后,两数组的和的差最小
- 输入一个整数数组,返回所有元素两两之差绝对值最小的值,O(n)算法
- n 个数中最小的 k 个数
- py两序列和差最小
- 两堆西瓜的质量差最小
- 腾讯笔试编程题:两两二元组差最小最大对数(C++)
- 证明两个集合的划分最小绝对值差问题
- 数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0<x<100,元素个数也是大于0, 小于100 。
- 长度为2N的数组分割成2个长度为N的数组,且两数组的和的差的绝对值最小
- just for fun
- 动态规划(dynamic programming)初步入门
- 习题6.14
- 当了三年程序员,一朝醒悟!(转)
- Flume开发问题记录
- N个数划分两组,差最小
- 《阿里巴巴Java工作手册》学习笔记
- upc 4875 第k大数 二分查找
- Extjs grid添加多选按钮
- 汉诺塔算法
- python霍夫变换圆形检测、cv.CV_HOUGH_GRADIENT没有定义的解决方法
- Extjs 中Tabpanel使用以及tab切换事件
- Django的login和authenticate模块的使用
- Git flow的使用