题目链接

题意

一个序列分成连续的M段, 使其中和最大的一段和最小。

思路

答案显然具有单调性, 答案越大, 分的段数相对越少。

可以二分一个值, 然后以这个值当作答案看看能分几段, 如果段数比M多, 说明答案应该比这个值要大, 反之则更小。

(二分答案入门题啊)。。。

最好记一个二分答案模板。。李煜东大神的二分模板看不懂。。。

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include<map>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<queue>
using namespace std;const int mx = 1e5 + 5;
const int inf = 1e9;int n, m;
int a[mx];inline bool check(int mid){int sum = 0, cnt = 0;for(int i = 1; i <= n; i++){if(sum+a[i] > mid){sum = a[i]; cnt++; continue;}sum += a[i];}return cnt >= m;
}int main(){cin >> n >> m;int l = 0, r = 0;for(int i = 1; i <= n; i++) scanf("%d", &a[i]), l = max(l, a[i]), r += a[i];while(l <= r){int mid = (l+r)>>1;if(check(mid)) {l = mid+1;}else r = mid-1;}printf("%d\n", l);return 0;
}

转载于:https://www.cnblogs.com/Maktub-blog/p/10994936.html

(洛谷)P1182 数列分段II相关推荐

  1. 洛谷P1182 数列分段Section II 二分答案

    洛谷P1182 数列分段Section II 二分答案 题意:将 n 个 数 分为 m段 求一种方案,使这m段中最大的和 最小 额..可能有点拗口,其实就是说每一种方案,都有对应的 每段和的最大值, ...

  2. 洛谷P1182 数列分段 Section II(二分+贪心)

    题目描述 对于给定的一个长度为N的正整数数列 A1∼NA _{1∼N}A1∼N​,现要将其分成 M(M≤N)M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一 ...

  3. 洛谷P1182 数列分段`Section II`

    . . . . . 分析 首先,分析题目,求最大值的最小化,直接联想到二分 然而关键是要怎么去高效的check 我们考虑一个贪心的思路,能加的就加上,不能则新开一段,所以对于二分的值x,我们从数列a从 ...

  4. 二分答案二题-P1182数列分段II,P1873砍树

    T1:P1182T1:P1182T1:P1182 数列分段SectionIISectionIISection II 评测记录:https://www.luogu.org/recordnew/lists ...

  5. 洛谷——P1181 数列分段Section I

    题目描述 对于给定的一个长度为NN的正整数数列A_iAi​,现要将其分成连续的若干段,并且每段和不超过MM(可以等于MM),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 第1行包含两 ...

  6. 二分答案——数列分段 Section II(洛谷 P1182)

    题目选自洛谷P1182 本题解法:二分答案+贪心 思路:首先,分析题目,求最大值的最小化,直接联想到二分,So我们直接二分答案,关键是要怎么去高效的check,我们考虑一个贪心的思路,能加的就加上,不 ...

  7. 洛谷 P1356 数列的整除性

    [题目链接] 洛谷 P1356 数列的整除性 [题目考点] 1. 动态规划:线性动规 [解题思路] 本题与该题几乎是同一个问题: 信息学奥赛一本通 1195:判断整除 | OpenJudge 2.6 ...

  8. 洛谷P1414 又是毕业季II 数论

    洛谷P1414 又是毕业季II 数论 d[ i ] 表示这些数中有几个数有因数 i 对于输入的每个数 都sqrt(val) 记录下 然后问你 n个数的最大公约数是多少, 相当于是问你 有 n 个数 有 ...

  9. 数列分段`Section II`(洛谷-P1182)

    题目描述 对于给定的一个长度为N的正整数数列 A−i ,现要将其分成 M(M≤N) 段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列 4 2 4 5 1 要分成 3 段 将其如 ...

  10. 数列分段II(信息学奥赛一本通-T1436)

    [题目描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 4 5 1要分成3段 将其如下分段: ...

最新文章

  1. 浏览器登录java_java – 如何停止已登录的用户从其他浏览器登录
  2. centos下git clone报401错误解决办法
  3. 案例:无人测量船水库水下地形测量及库容量计算
  4. RoterOS负载均衡教程
  5. 通向Golang的捷径【3.编辑器,IDE 和其他工具】
  6. jxta-P2P学习
  7. MPC的终结——二次规划求解约束极值问题
  8. 微信小程序——车牌键盘js+css
  9. html展示微信昵称特殊字符,微信昵称表情符号前端显示问题
  10. python毕业设计总结范文大全_毕业设计心得体会范文3篇
  11. DirectAdmin
  12. R语言基础-Rstudio基本使用
  13. 配音软件哪个好?这三款很火的配音软件,简直是短视频后期配音必备
  14. 手把手教你打造一个VIM-IDE
  15. 编码的奥秘:手电筒剖析
  16. 流程审批: 有个人不走申请人直属领导审批,审批流程设定(设定条件,矩阵相关)
  17. 红米5双清_红米5刷recovery教程_红米5第三方中文recovery下载
  18. Pywifi——检测是否网络连接
  19. 2021年信息产业十大技术趋势
  20. 计算机专业无领导小组面试题,2015年事业单位招聘(无领导小组讨论)面试真题及真题分析(一)...

热门文章

  1. @Autowired与@Resource
  2. 【转】android gravity属性 和 weight属性
  3. @property 参数问题
  4. JQuery简要介绍(转)
  5. Report Builder:SRW包
  6. html 中电话号码的使用
  7. C# winform 模拟选中并点击某一行DataGridView数据
  8. 08. 旋转数组的最小数字(C++版本)
  9. bilstmcrf词性标注_BiLSTM+CRF 的实现详解
  10. php简单富文本,JS简易版富文本编辑器实现代码