生活随笔
收集整理的這篇文章主要介紹了
hdu4004 The Frog's Games 二分
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
直接貼代碼
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
using namespace std;int stone[500005],dis[500005];
int l,n,m;bool judge(int p)
{if(p*m<l) return false;int cnt=0,i=1;while(cnt<=m){int temp=p;for(;i<=n+1;){if(temp>=dis[i]){temp-=dis[i];i++;}else {break;}}cnt++;if(i>n+1) break;}if(cnt>m) return false;else return true;
}
int solve(int l,int r){int mid;while(l<r){mid=(l+r)>>1;if(judge(mid)) r=mid;else l=mid+1;}return l;
}
int main()
{while(scanf("%d%d%d",&l,&n,&m)!=EOF){int i;memset(stone,0,sizeof(stone));for(i=1;i<=n;i++){scanf("%d",&stone[i]);}stone[0]=0;stone[i]=l;sort(stone+1,stone+1+n);for(i=1;i<=n+1;i++) dis[i]=stone[i]-stone[i-1];printf("%d\n",solve(1,l));}
}
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生
總結(jié)
以上是生活随笔為你收集整理的hdu4004 The Frog's Games 二分的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。