洛谷P2678 跳石头(NOIp2015)
2017-10-21 10:25
323 查看
贪心 二分
题目传送门二分答案,贪心判断即可。
代码:
#include<cstdio> #include<cstring> #include<algorithm> #define MAXN 50000 using namespace std; int n,m,k; int a[MAXN+5],f[MAXN+5]; bool pd(int x){//判断 int ans=0,node=0,sum=0; for (int i=1;i<=m+1;i++){ if (a[i]-sum<x) node++;//如果距离小于答案就要移掉 else sum=a[i]; if (node>k) break; } if (node<=k) return true; return false; } int main(){ scanf("%d%d%d",&n,&m,&k); if (!m){ printf("%d\n",n); return 0; } for (int i=1;i<=m;i++) scanf("%d",&a[i]); a[m+1]=n;//这里最后一个也也算一个石头 int l=0,r=n,ans; while (l<=r){ int mid=(l+r)/2; if (pd(mid)) l=mid+1,ans=mid; else r=mid-1; } printf("%d\n",ans); return 0; }
相关文章推荐
- [NOIP2015] 提高组 洛谷P2678 跳石头
- POJ 3258 River Hopscotch [NOIP2015 D2T1] (洛谷 P2678 跳石头)
- [NOIP2015提高&洛谷P2678]跳石头 题解(二分答案)
- 【NOIP2015】洛谷2678 跳石头
- NOIP2015跳石头[二分答案]
- 洛谷 oj 2679 【NOIP2015】子串(一堆智障错误)Mod 、O(c) etc.
- Noip 2015 D2T1 跳石头
- 【NOIP2015】跳石头
- UOJ #148. 【NOIP2015】跳石头 二分
- 【NOIP2015】D2-T1跳石头,二分答案
- 【NOIP2015】 跳石头(二分查找)
- 洛谷Luogu-267 跳石头(NOIP提高组2015 day2 t1)(二分答案) HQG_AC的博客
- 跳石头 NOIP2015 提高组 Day2 T1
- 【NOIP 2015 Day2 T1】跳石头(二分)
- 【NOIP2015】洛谷2680 运输计划【解法一】
- Vijos1981[Noip2015提高组]跳石头
- Noip2015 跳石头[vijos 1981]
- noip2015-跳石头(二分答案)
- NOIP2015 Day2 T1 跳石头
- NOIP2015 跳石头 二分