二分:

    while(l<r)
{
int mid=(l+r)/2;
if(符合条件) r=mid;
else l=mid+1;
}

固定下二分的写法:

终止条件:l==r;

取mid=(l+r)/2;

if(mid符合条件) r=mid;

else                      l=mid+1;

也就是说这里把mid左边.

二分答案:

1:有n个书,每本书有其厚度,分成连续m组,求分成厚度的最大的一组的最小厚度?

#include<bits/stdc++.h>
using namespace std;
int n,a[100],m,maxx=0,minn=INT_MAX;
bool check(int x)
{
int cnt=1,ans=0;
for(int i=1;i<=n;i++)
{
if(ans+a[i]<=x) ans+=a[i];
else cnt++,ans=a[i];
}
if(cnt<=m) return true;
else return false;
}
int erfen()
{
int l=minn,r=maxx;
while(l<r)
{
int mid=(l+r)/2;
if(check(mid)) r=mid;
else l=mid+1;
}
return l;
}
int main()
{
freopen("1.in","r",stdin);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i],maxx+=a[i],minn=min(minn,a[i]);
cout<<erfen()<<endl;
}

典型的关键字:最大值最小(或最小值最大).

0x04的更多相关文章

  1. 0x04 MySQl 表操作

    0x01 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:http://www.cnblogs.com/linhaifeng/articles/7213670.ht ...

  2. 【学员管理系统】0x04 数据库连接优化

    [学员管理系统]0x04  pymysql数据库连接优化 写在前面 项目详细需求参见:Django项目之[学员管理系统] 优化实现 把操作封装成函数 我们之前使用pymysql操作数据库的操作都是写死 ...

  3. 0x04 高级语法

    while-endw .while(条件) 循环体(条件满足时执行) .endw repeat-until .repeat 循环体(条件不满足时执行) .until(条件) if-elseif-end ...

  4. 0x04 二分

    二分.三分其实没什么.. 但是真心觉得市面上的朴素二分打法千奇百怪,假如是像我的标程应该是比较稳妥的,然而poj2018那题(前缀和又想起来了)是向下取整,精度有点问题(经常拍出一些什么xxx.999 ...

  5. 0x04 Python logger 支持多进程日志按大小分割

    目录 支持多进程日志按大小分割 多进程日志大小分割handler配置实例 支持多进程日志按大小分割 由于python内置模块logging.handlers.RotatingFileHandler是不 ...

  6. Docker 0x04: Docker 基本使用

    目录 Docker 基本使用 第一步:明确要使用容器运行的应用的镜像相关 第二步:运行一个官方nginx应用 第三步:单纯下载镜像,pull 第四步:设置国内docker-hub 第五步:列出已有镜像 ...

  7. OVS报错:s1.mgmt: version negotiation failed (we support version 0x01, peer supports version 0x04) ovs-ofctl: s1: failed to connect to socket (Broken pipe)

    mininet搭建拓扑后,查看流表,发现ovs命令报错 查找原因发现系mininet创建拓扑的命令使用了OpenFlow 1.3版本 ovs dump-flows命令默认是1.0版本,因此需要在ovs ...

  8. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  9. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

随机推荐

  1. 洛谷P1056——排座椅(模拟,贪心,排序)

    https://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发 ...

  2. php 开启报错

    // 开启报错提醒ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT); // 某 ...

  3. 使用ELK监控Nginx日志实现接口流量访问统计

    前段时间自己看书学习了一下elasticSearch,后面自己实践了使用elasticSearch.logStash.kibana搭建一个网站接口流量访问统计的监控看板.在这里做一些记录学习. 先看一 ...

  4. Docker 配置国内镜像加速器

    Docker 默认是从官方镜像地址 Docker Hub 下下载镜像,由于服务器在国外的缘故,导致经常下载速度非常慢.为了提升镜像的下载速度,我们可以手动配置国内镜像加速器,让下载速度飚起来. 国内的 ...

  5. 软件开发的V模型

    原文来自:http://www.51testing.com/html/67/n-3723567.html 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试->功能测试->系统测试-& ...

  6. YbtOJ#593-木棍问题【费用流】

    正题 题目链接:https://www.ybtoj.com.cn/contest/114/problem/3 题目大意 \(n*m\)的网格上有一些格子有木球,两个相邻木球直接可以有木棍. 两个\(L ...

  7. 我决定!墙裂推荐高清无码Python电子书(文中福利)

    @ 目录 前言 视频网站学习的优点和缺点 Python基础 游戏 网站开发 前言 近几年学了Python,查阅了不少资料,如B站,慕课网,我要自学网等等,然后自己边看学书自己整理学习资料,想分享下如何 ...

  8. windows下如何查看所有端口及占用

    1.在windows下查看所有端口: 先点击电脑左下角的开始,然后选择运行选项,接着我们在弹出的窗口中,输入[cmd]命令,进行命令提示符. 然后我们在窗口中输入[netstat -ano]按下回车, ...

  9. 讲师征集| .NET Conf China 2021正式启动

    最近社区小伙伴们一直在为11月即将在武汉举办的 第三届.NET中国峰会而忙碌,社区活动官网设计和开发工作还在进行,我们在国庆节的前一天晚上向社区正式启动了活动的序幕,也就是我们确定好了举办地点.时间, ...

  10. Jenkins REST API 实例

    背景:    Jenkins具有丰富的插件生态,足以满足我们日常工作的需求,但如果我们想通过具体的Jenkins任务直接对外提供服务,而不想将内部的具体实现对外暴露(否则,需添加对应的用户权限,通过页 ...