bzoj4525: [Usaco2016 Jan]Angry Cows
Posted invoid
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj4525: [Usaco2016 Jan]Angry Cows相关的知识,希望对你有一定的参考价值。
二分。
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn = 50000 + 10; int n,k,l,r,mid,ans,d; int a[maxn]; bool check(int dist) { dist=2*dist; int d=0,sum=1; for(int i=2;i<=n;i++) { if(a[i]-a[i-1]>dist-d) { sum++; d=0; } else d+=a[i]-a[i-1]; } //printf("%d %d\n",dist/2,sum); return sum<=k; } int main() { scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); l=1;r=a[n]; while(l<r) { mid=(l+r)>>1; if(check(mid)) r=mid; else l=mid+1; } printf("%d\n",l); return 0; }
以上是关于bzoj4525: [Usaco2016 Jan]Angry Cows的主要内容,如果未能解决你的问题,请参考以下文章
bzoj4512: [Usaco2016 Jan] Build Gates
bzoj4511: [Usaco2016 Jan]Subsequences Summing to Sevens
[BZOJ4506] [Usaco2016 Jan]Fort Moo(DP?)
bzoj4509Usaco2016 JanAngry Cows