bzoj1639[Usaco2007 Mar]Monthly Expense 月度开支

题意:

n天,每天有一个花费,现在要将它们分成连续的m段,要求所有段的总花费的最大值最小。求这个值。n,m≤100000

题解:

二分花费,小于二分值的天作为一段。注意二分的下界应该是每天花费的最大值。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define maxn 100100
 5 #define inc(i,j,k) for(int i=j;i<=k;i++)
 6 using namespace std;
 7
 8 inline int read(){
 9     char ch=getchar(); int f=1,x=0;
10     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
11     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
12     return f*x;
13 }
14 int n,m,mon[maxn],l,r,ans;
15 bool check(int x){
16     int y=1,z=0;
17     inc(i,1,n){
18         if(z+mon[i]>x){y++; z=mon[i]; if(y>m)return 0;}else z+=mon[i];
19     }
20     return 1;
21 }
22 int main(){
23     n=read(); m=read(); inc(i,1,n)mon[i]=read(),l=max(l,mon[i]),r+=mon[i];
24     while(l<=r){
25         int mid=(l+r)>>1; if(check(mid))ans=mid,r=mid-1;else l=mid+1;
26     }
27     printf("%d",ans); return 0;
28 }

20160731

转载于:https://www.cnblogs.com/YuanZiming/p/5732466.html

bzoj1639[Usaco2007 Mar]Monthly Expense 月度开支*相关推荐

  1. BZOJ 1639: [Usaco2007 Mar]Monthly Expense 月度开支( 二分答案 )

    直接二分答案然后判断. ----------------------------------------------------------------------------- #include&l ...

  2. bzoj 1639: [Usaco2007 Mar]Monthly Expense 月度开支(二分)

    1639: [Usaco2007 Mar]Monthly Expense 月度开支 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1057  Solve ...

  3. 二分搜索 POJ 3273 Monthly Expense

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

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

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

  5. [BZOJ] 1637: [Usaco2007 Mar]Balanced Lineup

    1637: [Usaco2007 Mar]Balanced Lineup Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 697  Solved: 463 ...

  6. 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列

    1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 510   ...

  7. Monthly Expense【二分】

    B - Monthly Expense POJ - 3273 Farmer John is an astounding accounting wizard and has realized he mi ...

  8. bzoj 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列

    1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 821   ...

  9. bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(拓扑排序?+DP)

    1638: [Usaco2007 Mar]Cow Traffic 奶牛交通 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 971  Solved: 37 ...

最新文章

  1. VM虚拟机中的centos6.3命令行模式添加GCC
  2. OkHttp3 websocket
  3. 《高性能网站构建实战》 目录--转
  4. java类同步,Java同步工具類(一)
  5. 使用百度地图实现详细地址自动补全
  6. 线性回归python代码实现
  7. 64位内核第二讲,进程保护之对象钩子
  8. 【Elasticsearch】数据预加载
  9. 在 ASP.NET Web 部件应用程序中使用服务器控件
  10. 不要老谈“设计模式”
  11. 通达信板块监控指标_板块监控及使用方法指标详解 通达信板块监控
  12. 威纶通触摸屏锁机程序模板 系统共设置有12期分期付款,可以每期设置需要分期付款的时间
  13. Android自定义星星评分控件,高效
  14. access建立两个字段唯一索引_Mysql不止CRUD,聊聊索引
  15. 统计知识基础(三)常用构造估计量的两种方法——矩估计、最大似然估计
  16. 事务的四大特性-ADID特性
  17. wps导航栏在哪设置?
  18. Resnet_50网络结构详解
  19. java 粒度_java中粗粒度和细粒度的概念
  20. SAP Cloud Platform会抛弃ABAP吗?

热门文章

  1. 多软件启动器 v1.0
  2. Java | 用Java实现选择排序算法(记录写程序全过程的编程哲学)
  3. 数据库 | MySQL安装与配置
  4. 如何防止WordPress博客内容被恶意复制的教程
  5. 用tsmmc.MSC方式在xp和Win7集中管理多台Win2003服务器
  6. kloxo 安装图解
  7. 层内容被FLASH遮挡解决办法
  8. 线程池三种创建方式和自定义线程池ThreadPoolExecutor
  9. 搜索——滑雪(poj1088)
  10. Leetcode算法题(C语言)1