【POJ】2456 - Aggressive cows 二分->最大化最小值
2017-08-24 22:06
351 查看
http://poj.org/problem?id=2456
X轴上有N个点,选出C个点,使它们之间最近的距离最远
最大化最小值,使用二分法。
X轴上有N个点,选出C个点,使它们之间最近的距离最远
最大化最小值,使用二分法。
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <queue> #include <algorithm> using namespace std; int n,m; int x[1000005]; bool ok(int d){ int last=0; for (int i=2;i<=m;i++){ int now=last+1; while (now<n&&x[now]-x[last]<d){ now++; } if (now==n) return false; last=now; } return true; } int main(){ cin >> n >> m; for (int i=0;i<n;i++){ cin >> x[i]; } sort(x,x+n); int l=0,r=99999999; while (r-l>1){ int mid=(l+r)>>1; if (ok(mid)) l=mid; else r=mid; } cout << l << endl; }
相关文章推荐
- POJ 2456 Aggressive cows (牛舍安放_二分+最大化最小值)
- POJ 2456 Aggressive cows(二分-最大化最小值)
- poj 2456 Aggressive cows,二分,最大化最小值
- CSU-ACM2017暑假集训2-二分搜索 poj-2456 Aggressive cows-最大化最小值
- POJ 2456 Aggressive cows(二分搜索最大化最小值)
- POJ 2456 Aggressive cows【二分:最大化最小值】
- poj 2456 Aggressive cows(二分搜索之最大化最小值)
- poj 2456 Aggressive cows - 二分(最大化最小值)
- POJ 2456 Aggressive cows(二分答案,最大化最小值)
- Aggressive cows POJ 2456 (二分,最大化最小值)
- poj 2456 Aggressive cows (二分+贪心) (最大化最小值)
- POJ 2456 Aggressive cows(二分查找 最大化最小值)
- POJ 2456 Aggressive cows(二分查找最大化最小值)
- POJ 2456 Aggressive cows(二分,最大化最小值)
- POJ - 2456 Aggressive cows(二分搜索:最大化最小值)
- 【最大化最小值】POJ - 2456 Aggressive cows
- poj 3258 River Hopscotch && poj 2456 Aggressive cows(最大化最小值)
- NYOJ 586 疯牛 & POJ 2456(二分搜索 + 贪心)(最大化最小值)
- POJ 2456 Aggressive cows(最小值最大化+二分)
- POJ---2456(Aggressive cows,贪心最大化最小值)