//题意:给出农夫在n天中每天的花费,要求把这n天分作m组,
//每组的天数必然是连续的,要求分得各组的花费之和应该尽可能地小,最后输出各组花费之和中的最大值。//思路:看到各组最小和最大的,果断上二分。很好的一道二分穷举的题。

#include <stdio.h>
#include <iostream>
using namespace std;
int a[100005];
int n, m;bool judge(int x){int cnt = 1, sum = 0;for(int i = 1; i<=n;i++){if(sum+a[i]<x){sum= sum+a[i];} else{sum = a[i];cnt++;}} if(cnt>m) return 0;else return 1;
}
int main(){cin>>n>>m;int low = 0, high = 0,mid;for(int i = 1; i<=n; i++ ) {cin>>a[i];low = max(low,a[i]);high+=a[i];}while(low<high){mid = (low+high)>>1;if(judge(mid)) high = mid - 1;else low  = mid + 1;}     printf("%d\n",low);return 0;
}

转载于:https://www.cnblogs.com/0526yao/p/10474379.html

POJ-3273(二分)相关推荐

  1. 【POJ 3273】 Monthly Expense (二分)

    [POJ 3273] Monthly Expense (二分) 一个农民有块地 他列了个计划表 每天要花多少钱管理 但他想用m个月来管理 就想把这个计划表切割成m个月来完毕 想知道每一个月最少花费多少 ...

  2. 二分搜索 POJ 3273 Monthly Expense

    题目传送门 1 /* 2 题意:分成m个集合,使最大的集合值(求和)最小 3 二分搜索:二分集合大小,判断能否有m个集合. 4 */ 5 #include <cstdio> 6 #incl ...

  3. POJ - 2018 二分+单调子段和

    依然是学习分析方法的一道题 求一个长度为n的序列中的一个平均值最大且长度不小于L的子段,输出最大平均值 最值问题可二分,从而转变为判定性问题:是否存在长度大于等于L且平均值大于等于mid的字段和 每个 ...

  4. Drying POJ - 3104 二分

    Drying    POJ - 3104  二分      http://poj.org/problem?id=3104 二分查找作用之一:查找结果,逆向求解. 最让HSQ学长头疼的就是洗衣服了.洗完 ...

  5. POJ 3579 二分答案

    POJ 3579 二分答案 文章目录 POJ 3579 二分答案 题目 思路 代码 题目 思路 排序,二分一下答案,然后对于每一个元素看一看加上这个答案tmp之后,在数列里面排在哪里,比a[i]+tm ...

  6. Monthly Expense POJ - 3273(二分最大值最小化)

    Farmer John is an astounding accounting wizard and has realized he might run out of money to run the ...

  7. 二分 poj 3273

    题目链接:https://vjudge.net/problem/POJ-3273 把n个连续的数字划分成m个连续的部分,每个部分都有一个部分和(这个部分所有值加起来),现在要使划分里最大的那个部分和最 ...

  8. 【POJ - 3273 】Monthly Expense (二分,最小最大值)

    题干: Farmer John is an astounding accounting wizard and has realized he might run out of money to run ...

  9. 补充一下我对 POJ 3273 的理解,这肯定是我一生写的最多的题解。。。

    题目:http://poj.org/problem?id=3273 当分成的组数越多,所有组的最大值就会越小或不变,这一点不难证明:     如果当前分成了group组,最大值是max,那么max的这 ...

  10. POJ 3061 (二分+前缀和or尺取法)

    题目链接: http://poj.org/problem?id=3061 题目大意:找到最短的序列长度,使得序列元素和大于S. 解题思路: 两种思路. 一种是二分+前缀和.复杂度O(nlogn).有点 ...

最新文章

  1. 分析机风云:超前时代五十载,是非曲直苦难辩
  2. 【转】浅谈php://filter的妙用
  3. 苹果芯片工程师又被挖!这次是微软,要自研Azure服务器芯片
  4. CSS Modules 用法教程
  5. 【代码+解析】有理数的类封装
  6. JAVASCRIPT常用20种小技巧汇总
  7. jcmd jmap应用:一个String经典笔试题的验证
  8. linux系统组成之小型RedHat little linux制作二
  9. 让计划任务生成的文件中包含当前日期
  10. RS-485总线和Modbus通信协议的关系
  11. dbeaver 视图有一个x_《工程制图》——视图、剖视图、断面图、局部放大图
  12. 转载nbsp;图像阈值选取
  13. Springboot中使用Robot及Websocket实现windows远程桌面控制
  14. 方阵平方等于自身,这个方阵的特征值
  15. 复旦提出M2TR:首个多模态多尺度Transformer
  16. jira是干什么_jira是什么
  17. 【数据分析】:搭建数据分析业务工作流程
  18. 【String字符串分割以及字符串截取】
  19. python抽奖游戏大全_python实现转盘效果 python实现轮盘抽奖游戏
  20. TeraTerm Language 帮助文档1-[如何运行]

热门文章

  1. mysql怎么给sex设置默认值_记一次mysql优化操作
  2. do...while(); 语句在宏定义中的应用。
  3. 设计模式java23 观察者_23种设计模式(13)java观察者模式
  4. oracle 报错06502,求助!!ORA-06502错误
  5. java反射代码,java反射
  6. php ci的session和php session,php及codeigniter使用session-cookie的方法(详解)
  7. Unity Bug解决分析思路
  8. nginx -- 负载均衡
  9. redis内核单元测试框架
  10. python风险评分卡系统_《智能风控:Python金融风险管理与评分卡建模》(梅子行,毛鑫宇)【摘要 书评 试读】- 京东图书...