poj 2456 Aggressive cows (二分+贪心) (最大化最小值)
2015-09-15 22:21
357 查看
@(K ACMer) by 题解工厂
题意:
给n个数,让你选择其中m个数,让相邻数的最小值最大.(即最大化最小值问题).分析:
典型的贪心 + 二分组合.注意这个组合的出现,对于不容易直接得出结果的问题,二分的查找结果,贪心得验证结果是标配!Code:
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; const int M = int(1e5) + 9; int p[M], n, m; bool C(int x) { int ret = 0; for (int i = 0; i < n;) { int j; for (j = i + 1; j < n; j++) { if (p[j] - p[i] >= x) { ret++; break; } } i = j; } return ret >= m - 1; } void solve(void) { int l = 0, r = p[n - 1] - p[0]; while (r - l > 1) { int mid = (l + r) / 2; if (C(mid)) l = mid; else r = mid - 1; } printf("%d\n", C(r) ? r : l); } int main(void) { while (~scanf("%d%d", &n, &m)) { for (int i = 0; i < n; i++) { scanf("%d", &p[i]); } sort(p, p + n); solve(); } return 0; }
相关文章推荐
- cordova 资料
- Objective-C Runtime初探:self super
- Func的介绍
- 2016华为软件开发题目讲解
- 将studio项目 转换为eclipse项目
- 将studio项目 转换为eclipse项目
- samba不允许一个用户使用一个以上用户名与一个服务器或共享资源
- UVALive 6655 Two Points Revisited
- 将studio项目 转换为eclipse项目
- mysql,多表的内外连接+子查询
- 苹果开发 笔记(73)AVCaptureDevice
- 察言观色的能力
- Part 18 Indexes in sql server
- 动态加载脚本和样式
- 宝石商人(2016网易游戏校招笔试)
- hdu 5441 (2015长春网络赛E题 带权并查集 )
- Python-docx简介
- zoj 3898 Stean 高等数学 数值积分
- 安卓开发笔记 通过AlertDialog实现从底部弹出的菜单的代码编写
- Windows TTS语音引擎VC编程入门