POJ 2456 Aggressive cows——二分查找(最大化最小值)
来源:互联网 发布:淘宝虚拟专营入口 编辑:程序博客网 时间:2024/06/07 21:38
题意:在一条数轴上已知n个点的坐标,在这n个点中选m个点,最大化m个点的最小距离
思路:二分查找最小距离,对于每个最小距离,求出在这个距离限制下最多能从n个点中选多少个点,然后与m比较,如果比m小则改变上界,反之改变下界
#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int INF = 1e9 + 10;int a[100010];int main(){ int n, m; while (scanf("%d %d", &n, &m) == 2) { for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } sort(a, a + n); int L = 0, R = INF, mid; while (L <= R) { mid = (L + R) / 2; int cnt = 1, dis = 0; for (int j = 1; j < n; j++) { dis += a[j] - a[j - 1]; if (dis >= mid) { cnt++; dis = 0; } } if (cnt >= m) { L = mid + 1; } else { R = mid - 1; } } printf("%d\n", R); } return 0;}
阅读全文
1 0
- POJ 2456 Aggressive cows(二分查找 最大化最小值)
- POJ 2456 Aggressive cows(二分查找最大化最小值)
- POJ 2456 Aggressive cows——二分查找(最大化最小值)
- 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 25456 Aggressive cows 【二分最大化最小值】
- poj 2456 Aggressive cows (二分+贪心) (最大化最小值)
- POJ 2456 Aggressive cows(二分答案,最大化最小值)
- POJ 2456 Aggressive cows(二分搜索,最大化最小值)
- POJ 2456 Aggressive cows (最大化最小值)
- 【贪心专题】POJ 2456 Aggressive cows && NYOJ 586 疯牛(最大化最小值 贪心+二分搜索)
- bzoj1708 [Usaco2007 Oct]Money奶牛的硬币(完全背包)
- Spring RestTemplate Post with Header
- storm UI解释
- Matplotlib学习总结
- 如何查看Javascript原生对象的方法?
- POJ 2456 Aggressive cows——二分查找(最大化最小值)
- java实现翻转链表
- TCP连接的11种状态变迁
- 每日一题(24)—— const
- Java对GIF的简单删帧操作
- 【IO/NIO】Java NIO浅析
- Caffe基础系列【一】MNIST数据集的测试
- hadoop系列之一集群规划篇
- 函数模板不会进行自动的参数转换