洛谷 P2678 [ NOIP 2015 ] 跳石头 —— 二分答案
2024-08-30 20:23:30
题目:https://www.luogu.org/problemnew/show/P2678
二分答案。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mid ((l+r)>>1)
using namespace std;
int const maxn=;
int n,m,L,d[maxn],a[maxn],ans;
int ck(int x)
{
int ret=;//留下石头数
for(int i=,tmp=;i<=n;i++)
{
if(tmp+a[i]>=x)ret++,tmp=;
else tmp+=a[i];
}
//tmp 有剩余则并到前一个区间,留下石头数不变
return n-ret;
}
int main()
{
scanf("%d%d%d",&L,&n,&m);
for(int i=;i<=n;i++)scanf("%d",&d[i]),a[i]=d[i]-d[i-];
a[++n]=L-d[n-];
int l=,r=L;
while(l<=r)
{
if(ck(mid)<=m)ans=mid,l=mid+;
else r=mid-;
}
printf("%d\n",ans);
return ;
}
最新文章
- winform 进程,线程
- 判断一个url地址是不是404状态(用curl函数)
- 分布式管理系统-git安装及配置
- PYTHON学习之路_PYTHON基础(3)
- maven工程通过命令打包
- Tr A(矩阵快速幂)
- “通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决
- C++异常
- Html5页面返回机制解决方案
- case then 的用法 貌似case then不支持别名
- Eclipse用法和技巧二十五:eclipse图标的含义
- 王立平-- ContentValues , HashTable , HashMap差别
- java 内存分配全面解析
- Unity3d的序列帧动画
- ejabberd为游戏免除注册限制
- bzoj2253 纸箱堆叠
- Springboot 上传excel并解析文件内容
- sqlite数据库操作
- arcgis server瓦片行列号计算
- python&;django 常见问题及解决方法
热门文章
- 第二次 Ubuntu16.04 vi编辑器的方向键和退格问题
- MySQL-----连表
- STM32F407 按键输入实验 库函数版 个人笔记
- Linux学习笔记02
- navicat mysql 连接本地 忘记密码 查看密码 操作
- [bzoj1188][HNOI2007]分裂游戏_博弈论
- 【SQL Server 学习系列】-- 随机生成日期时间的SQL脚本
- spring 数据源JNDI 基于tomcat mysql配置
- ubuntu12.04+cuda6.0+opencv2.4.9
- 使用NPOI将DataTable生成Excel