当前位置: 首页 > wzjs >正文

外国网站上做雅思考试网站开发神书

外国网站上做雅思考试,网站开发神书,安装不了wordpress,网站建设新技术看到最大值最小,我们第一个想到就是二分答案 我们也分析出来了二段性,既然已知用二分答案,我们就让每段和的最大值不断变小不断变小,用的段数也不断增多,刚好用完所有段数的时候就是我们的答案了 我们不断的check看符…

看到最大值最小,我们第一个想到就是二分答案

我们也分析出来了二段性,既然已知用二分答案,我们就让每段和的最大值不断变小不断变小,用的段数也不断增多,刚好用完所有段数的时候就是我们的答案了

我们不断的check看符不符合要求,符合要求就不断接近答案,不符合要求就排除

check函数怎么写呢?

我们已经枚举出了最大值,我们只要让每段和最大不超过最大值,然后判断段数是大于m还是小于还是等于m就行了

现在唯一的问题就在于我们的check函数怎么写了,也就是我们怎么分段,我们根据枚举的答案,也就是每段和的大小,我们用小贪心的思想,不断的加,如果大于sum的时候,把前面的格子分成一段,再往后加,最后再把最后那段加上,就是我们的格子总数了

我们判断格子总数是小于m还是大于等于m,也就是我们把段数尽可能分的最少,总段数是有限的

来进行我们的二分操作,我们判断一下二分的两个端点,每段和的最大值最大就是sum(a[i),最小值就是max(a[i]) 

#include <iostream>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
ll a[N];
ll n,m;
bool check(ll x)
{ll sum = 0;ll cnt = 0;for(int i =1;i<=n;i++){sum+=a[i];if(sum>x){cnt++;sum=a[i];}}return cnt+1<=m;
}
int main()
{cin >> n >> m;ll l = 0,r = 0;for(int i = 1;i<=n;i++){cin >> a[i];l = max(l,a[i]);	r+=a[i];}while(l<r){ll mid = (l+r)/2;if(check(mid)) r=mid;else l = mid+1;}cout << l << endl;return 0;} 

http://www.dtcms.com/wzjs/595733.html

相关文章:

  • 后端开发网站做一些什么wordpress首页文件代码在
  • 设计比较好的电商网站WordPress的mx主题
  • 安徽同济建设集团网站wordpress数据库用户名密码忘记
  • 网站 备案信息网站优化过度被k
  • 沈阳网站建设服务器网站建设财务分析
  • 在线做qq空间的网站网站定制电话
  • ASP做旅游网站代码西充建设局网站
  • 网站建设策划书模板大学交作业wordpress
  • 中国建设银行企业网站网站建设公司岗位
  • php网站开发经理招聘阿里云网站域名申请
  • 关于做膳食的一些网站广州专门做网站的公司有哪些
  • 视频封面制作网站计算机速成班培训
  • 网站改版方案原则网站建设网络推广方案ppt
  • 五金配件网站建设报价宣传海报怎么制作
  • 网站错误页面模板驻马店网站开发公司电话
  • win7 asp网站发布域名注册好怎么建设网站
  • 网站管理cms网站沙盒期
  • 做孝道的网站的目的彩票网站定制
  • 公司域名查询官方网站企业小程序制作开发
  • 网站在建设时不容忽略的一些细节河南确诊病例最新消息
  • Wordpress做什么网站赚钱中科院网站做的好的院所
  • 视频上传网站建设基础做网站
  • 做任务领游戏的网站门户网站建设关系到
  • 上海品牌建站少女长尾关键词挖掘
  • 广西代理网站建设公司网站的维护和推广
  • 网站建设在哪里找客户有文化底蕴的公众号名字
  • 南宁致峰网站建设网站开发工作描述
  • 口碑好网站建设电话哪个网站建设服务器是在国外的
  • 做网站赤峰wordpress一键ssl
  • 哪个网站做五金冲压的wordpress指定页面连接数据库