https://www.luogu.org/problemnew/show/P1182

做了这个题才知道二分的强大

这个题可以假设我们有n个果子 m个容器 要能把果子全装进去 那么容器最小可以是多小

很显然 如果我们的容器每一个都能把全部的果子装进去 那么一定是一种可行的解 但不是最优的

容器最小是多小呢?至少要能装得下最大的果子

所以答案就在 maxAi 和 sumAi 之间 进行二分查找即可

如果当前的mid是容器的容量,求出来需要多少容器 如果比 m 多 那么说明 mid 太小了 如果小于等于 m 那么就看看还有没有可以更小一点的容量

#include<bits/stdc++.h>

using namespace std;

int n,m,a[];

void erfen(int l,int r)
{
int i;
if(l>=r)
{
cout<<l<<endl;
exit();
}
int mid=(r+l)/;
int sumn=;
int k=;
for(i=;i<n;i++)
{
sumn+=a[i];
if(sumn>mid)
{
sumn=a[i];
k++;
if(k>m)
break;
}
}
if(k>m)
{
erfen(mid+,r);
}
else
{
erfen(l,mid);
} } int main()
{
int i,maxn=,sumn=;
cin>>n>>m;
for(i=;i<n;i++)
{
cin>>a[i];
maxn=max(a[i],maxn);
sumn+=a[i];
}
erfen(maxn,sumn);
}

最新文章

  1. java多态的理解
  2. SQL*Plus中替换变量与定义变量
  3. 设计一个泛型类Collection
  4. Maven配置不成功
  5. hdu4690 EBCDIC ——水题,考耐心
  6. shutdown immediate时 hang住 (转载)
  7. .Net内存优化的几点经验
  8. dwr使用步骤
  9. kafka consumer 分区reblance算法
  10. 【UVA11019】Matrix Matcher
  11. hdu 4403 枚举
  12. 朗科U903 低级格式化后,量产错误:read onlypage (控制器芯片群联2251-03)的解决方案
  13. 转:40多个关于人脸检测/识别的API、库和软件
  14. Java集合(2)一 ArrayList 与 LinkList
  15. K:正则表达式之进阶
  16. 【cocos 2d-x】VS2013+cocos2d-x3.3Final+Adriod交叉编译环境配置(超详细版)
  17. css实现3D切换功能
  18. 可达用户投资额的计算(Java)
  19. C#使用Emit构造拦截器动态代理类
  20. python-知识回顾-16

热门文章

  1. 一篇文章了解RPC框架原理
  2. iOS画线段
  3. JAVA笔记19-容器之三 Set接口、List接口、Collections类、Comparable接口(重要)
  4. UVALive 3523 : Knights of the Round Table (二分图+BCC)
  5. Node.js的url模块简介
  6. datatable 和实体互转
  7. spring自带工具类
  8. 3D Computer Grapihcs Using OpenGL - 20 结合Buffer
  9. Win7,win10(部分机型) 安装appscan9.0.3.10(可升级)实操流程
  10. final修饰的类,其属性和方法默认是被final修饰的吗?