hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分
Posted hzuCode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分相关的知识,希望对你有一定的参考价值。
题意: 求H的最大值, H是指存在H篇论文,这H篇被引用的次数都大于等于H次.
思路:题意得, 最多只有N遍论文,所以H的最大值为N,
常识得知H的最小值为0.
所以H的答案在[0,N]之间,二分搜一下,如果满足就提高下限,不满足则降低上限.
嗯就这样!!!!
AC code:
#include<bits/stdc++.h> using namespace std; int n; vector<int> cc(200005); int main() { bool check(int t); while(scanf("%d",&n)!=EOF) { for(int i=0;i<=n;i++) cin>>cc[i]; int minn=0; int maxx=n; int ans=0; while(minn<=maxx) { int mid=(maxx-minn)/2+minn; if(check(mid)) { minn=mid+1; ans=mid; } else maxx=mid-1; } cout<<ans<<endl;} return 0; } bool check(int t) { long long sum=0; for(int i=t;i<=n;i++) sum+=cc[i]; if(sum>=t) return true; else return false; }
以上是关于hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分的主要内容,如果未能解决你的问题,请参考以下文章
hdu - 6277,2018CCPC湖南全国邀请赛B题,找规律,贪心找最优.