题目连接
- 该题是luogu试炼场的2-12:T6
题目大意
- 给出 n 个数字,分成 m 段;
- 每一段的和 s,要求 s 的最大值尽可能小。
题目分析
- 经典二分题目,有一道很接近的的:丢瓶盖
- 二分的精髓不在过程,而在最终对于L和R的处理!
- noi题库有一个二分专题,10题让你愉快入场!
解题思路:
- 初始的左边界L:一定是数组的最大值,因为最小的值,也必须有一个数字在里面;
- 初始的左边界R:是数组的和,因为可能m的值是1,全部人都在同一组;
- 二分的while()循环,看起来没有难度,但是结束条件才是精髓:本题解用的是 while( l+1<r) ,在执行完二分之后,并不是得到一个值,而是得到 l 和 r 两个值,最后特判一下;
- 相对于只留一个值的 while( l<r