最大值最小化问题
来源:互联网 发布:怎么做淘宝 编辑:程序博客网 时间:2024/06/06 08:20
文章参考:http://blog.csdn.net/nanjunxiao/article/details/8145971
问题描述:
把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少?
例如序列1 2 3 2 5 4划分为3个子序列的最优方案为 1 2 3 | 2 5 | 4,其中S(1),S(2),S(3)分别为6,7,4,那么最大值为7;
如果划分为 1 2 | 3 2 | 5 4,则最大值为9,不是最小。
问题分析:
能否使m个连续子序列所有的s(i)均不超过x,则该命题成立的最小的x即为答案。该命题不难判断,只需贪心,每次尽量从左
向右尽量多划分元素即可。
我们把该问题转化为递归分治问题,类似于二分查找。首先取Sum和元素最大值的中值x,如果命题为假,那么答案比x大;
如果命题为真,则答案小于等于x。问题得解,复杂度为O(n*logSum)
代码参考:http://blog.csdn.net/nomad2/article/details/7833299
二分法:
阅读全文
0 0
- 最大值最小化问题
- 最大值最小化问题
- 最大值最小化问题
- 最大值最小化问题
- 最大值最小化问题
- 二分法解决最大值最小化问题
- 二分法解决最大值最小化问题
- UVa 714 - Copying Books,最大值最小化问题
- UVa11413 - Fill the Containers(最大值最小化问题)
- Copying Books(最大值最小化问题)
- Uva 714Copying Books,(最大值最小化问题)
- uva--714+二分(最大值最小化问题)
- 二分答案方法 — 最大值最小化问题
- 最大值最小化问题——分治
- 最大值最小化
- 最大值最小化
- 最大值最小化
- 最大值最小化
- HTTP常用状态码对照表
- JavaScript中的正则表达式
- 基于肤色和眼睛定位的人脸检测算法——MATLAB实现
- 【python学习笔记】17:numpy数组排序
- python 重定向获取真实url
- 最大值最小化问题
- 记录下也许有用的工具
- Json学习笔记(一)-利用Fastjson将String转换成Map,List和数组
- Android中layer-list学习
- vue路由的使用
- c/c++ 语言随机数产生
- jenkins打包报:ant:command not find
- MySQL半同步复制的数据一致性探讨
- ASP.NET动态添加TextBox控件