poj3258
来源:互联网 发布:达观数据 冯佳妮 编辑:程序博客网 时间:2024/04/27 21:59
题意:给一组数据分别是一组石头距离河岸的距离,求移走固定数目的石头之后,使得剩余石头之间的最小距离最大。
做法:二分。二分结果(最小距离),如果达到这个距离了所移走的石头数目比给定的数目多则缩小最小距离,如果移走的石头数目比给定的数目少则增大距离。最后得到答案。。。【做了太久了忘记wa了好多次最后怎么改的了。。。。【ps。。第一个二分题。。。看了一下别人的题解。。。我真垃圾::>_<::】
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int dis[50005];int L,N,M;bool ok(int mid){ int ans=0,sum=0; for(int i=1;i<=N+1;i++) { sum+=dis[i]-dis[i-1]; if(sum<=mid) ans++; else sum=0; } return ans<=M;}int main(){ scanf("%d%d%d",&L,&N,&M); memset(dis,0,sizeof(dis)); for(int i=1;i<=N;i++) { scanf("%d",&dis[i]); } dis[N+1]=L; sort(dis+1,dis+N+1); int l=1,r=L,mid; while(l<=r) { mid=(l+r)>>1; if(ok(mid)) l=mid+1; else r=mid-1; } printf("%d\n",l);}
0 0
- poj3258
- poj3258
- poj3258
- poj3258
- poj3258
- poj3258
- POJ3258
- poj3258
- poj3258
- poj3258 二分
- POJ3258 二分
- POJ3258 二分
- POJ3258【二分】
- poj3258 二分
- poj3258解题报告
- POJ3258:River Hopscotch
- POJ3258-River Hopscotch
- poj3273+poj3258 二分易错点
- java知识总结(7)
- poj3744 Scout YYF I 概率dp+矩阵快速幂
- uva 348 Optimal Array Multiplication Sequence
- 【leetcode】Permutations II
- java知识总结(8)
- poj3258
- GeoTiff如何存储颜色表的研究
- 基于MFC对话框隐藏的方法
- 程序设计相关实验工具网址
- bzoj1602 [Usaco2008 Oct]牧场行走
- 信息搜索的小技巧
- HDU 4006 - The kth great number
- [Spring3.x] 第 8 章 Spring 对 DAO 的支持
- Windows7的自述