北大ACM2456——Aggressive cows~~二分搜索
来源:互联网 发布:淘宝优惠券采集 编辑:程序博客网 时间:2024/05/16 14:17
这一题,也是简单的二分搜索,求解放置的牛之间的距离尽可能远,也就是最大化最小值。
主要的一步就是将第i头牛放在了x[j]的位置中,第i + 1头牛就要放在满足x[j] + d < x [k],k的最小值。
下面是AC的代码:
#include <iostream>#include <algorithm>using namespace std;int N, M;int X[100005];bool C(int x){int last = 0;for(int i = 1; i < M; i++){int cur = last + 1;while(cur < N && X[cur] - X[last] < x) //满足X[last] + x > X[cur]的最小的cur。{cur++;}if(cur == N)return false;last = cur;}return true;}void solve(){sort(X, X + N);int left = 0, right = 10000000; //距离在0到10000000之间搜索while(left + 1 < right) //二分搜索{int mid = (left + right) / 2;if(C(mid))left = mid;elseright = mid;}cout << left << endl;}int main(){while(cin >> N >> M){for(int i = 0; i < N; i++)cin >> X[i];solve();}return 0;}
0 0
- 北大ACM2456——Aggressive cows~~二分搜索
- POJ2456 -- Aggressive cows(二分搜索)
- poj——2456Aggressive cows(二分搜索 求牛牛之间最大距离)
- POJ2456 Aggressive cows(二分搜索)
- POJ 2456 Aggressive cows 二分搜索
- POJ 2456 Aggressive cows (二分搜索)
- 二分入门——poj 2456 aggressive cows
- Aggressive cows 二分
- POJ2456 Aggressive cows (二分)
- POJ2456 Aggressive cows 二分
- Aggressive cows(二分)
- Aggressive cows(二分模板)
- Aggressive cows--(二分)
- Aggressive cows (二分)
- Aggressive cows (二分)
- POJ - 2456 Aggressive cows(二分搜索:最大化最小值)
- POJ 2456 Aggressive cows(二分搜索最大化最小值)
- POJ 2456 Aggressive cows(二分搜索,最大化最小值)
- poj 2386 dfs 水
- Servlet生命周期与工作原理
- VB.NET重构(一)——DataGridView的使用
- hdu 1561 The more, The Better 树状DP
- spring学习笔记(3)——bean配置细节注意
- 北大ACM2456——Aggressive cows~~二分搜索
- 免费馅饼
- STL入门
- Android开发中的总结内容
- Swift语言中的switch语句的妙用
- Tools for Java programmers(2015)-1
- springMVC学习(注解实现依赖注入)
- Ubuntu下配置SVN服务器并在Win7下使用TortoiseSVN作为客户端
- 修改Eclipse默认workspace目录