http://acm.buaa.edu.cn/problem/1389/

愤怒的DZY
【问题描述】
“愤怒的小鸟”如今已经是家喻户晓的游戏了,机智的WJC最近发明了一个类似的新游戏:“愤怒的DZY”。游戏是这样的:玩家有K个DZY,和N个位于不同的整数位置:X1,X2,…,XN的干草包。每一个DZY都可以站在某个位置:X 扔炸弹,扔完炸弹,这个DZY就会挂掉。扔炸弹的半径为R(且每次每个DZY扔炸弹的半径不变,都是R,而站的位置X可以改变),破坏范围为的X−R~X+R(即位置在X-R到X+R(含X-R,X+R)都会被炸掉)。现在给定DZY的个数K,和干草堆的位置:X1,X2,…,XN,问你最小的可以炸掉所有干草堆的半径R。
【输入说明】
第一行两个正整数N,K。接下来N行,每行一个数,依次是:X1,X2,…,XN。
【输出说明】
仅一行,代表最小的可以炸掉所有干草堆的半径R。
【样例输入】
7 2
20
25
18
8
10
3
1
【样例输出】
5
命题人:Hacker_WJC

学习了上题的最大值最小化,这题就很好解决了,数据n卡到10e6

对位置进行从小到大排序,枚举直径,不妨设最小直径为1,最大就是前后两点距离 a[n] - a[1],然后从a[1]开始枚举直径为mid是否可以,如果比a[i] + mid小就取下一个,否则cnt++,以该点为起点在判断

半径采用进一法输出,

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
using namespace std;
const int MAX = + ;
int a[MAX];
int n,k,maxn,minn;
void input()
{
minn = maxn = ;
scanf("%d%d", &n, &k);
for(int i = ; i <= n; i++)
{
scanf("%d", &a[i]);
}
sort(a + , a + n + );
minn = ;
maxn = a[n] - a[];
}
bool is_ok(int mid)
{
bool ok = true;
int start = ,End = ;
int cnt = ;
while(End <= n)
{
if(a[End] - a[start] <= mid)
{
End++;
}
else
{
cnt++;
if(cnt > k)
{
ok = false;
break;
}
start = End;
}
}
return ok;
}
int solve()
{
int x = minn, y = maxn; while(x <= y)
{
int mid = (x + y) / ;
if(is_ok(mid))
y = mid - ;
else
x = mid + ;
}
return x;
}
int main()
{
input();
int ans = solve();
if(ans % == )
printf("%d\n", ans / );
else
printf("%d\n", ans / + );
}

BUAA1389愤怒的DZY(最大值最小化)的更多相关文章

  1. 九度OJ 1502 最大值最小化(JAVA)

    题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ...

  2. UVA 714 Copying Books 最大值最小化问题 (贪心 + 二分)

      Copying Books  Before the invention of book-printing, it was very hard to make a copy of a book. A ...

  3. hdu 4004 最大值最小化

    http://acm.hdu.edu.cn/showproblem.php?pid=4004 一条线段长度为L,线段上有n个点,最多选取 m-1 个点,使得包括线段端点在内的相邻点之间的最大距离值最小 ...

  4. Crowd Control(输出不在最大值最小化的最短路上的边)

    题意: 就是求完最大值最小化  然后输出在这条最大值最小化的最短路上的点的不在最短路上的边,emm.... 解析: 很明显,先套spfa最大值最小化模板,emm... 在更新d的时候 用一个pre去记 ...

  5. UVa 714 Copying books 贪心+二分 最大值最小化

    题目大意: 要抄N本书,编号为1,2,3...N, 每本书有1<=x<=10000000页, 把这些书分配给K个抄写员,要求分配给某个抄写员的那些书的编号必须是连续的.每个抄写员的速度是相 ...

  6. Monthly Expense(最大值最小化问题)

                                                                                POJ-3273                 ...

  7. uva 714 Copying Books(二分法求最大值最小化)

    题目连接:714 - Copying Books 题目大意:将一个个数为n的序列分割成m份,要求这m份中的每份中值(该份中的元素和)最大值最小, 输出切割方式,有多种情况输出使得越前面越小的情况. 解 ...

  8. uva 714 - Copying Books(贪心 最大值最小化 二分)

    题目描写叙述开头一大堆屁话,我还细致看了半天..事实上就最后2句管用.意思就是给出n本书然后要分成k份,每份总页数的最大值要最小.问你分配方案,假设最小值同样情况下有多种分配方案,输出前面份数小的,就 ...

  9. Jamie's Contact Groups POJ - 2289(多重匹配 最大值最小化 最大流)

    Jamie's Contact Groups Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 8567   Accepted: ...

随机推荐

  1. python中的Unittest常用方法

    import unittest class SimpleUnitTest(unittest.TestCase): def test_Fail(self): self.failUnless(True) ...

  2. PHP mcrypt加密扩展使用总结

    在开发中,很多时候我们在前后端交互中需要对一些敏感数据进行一定的加密.PHP中有提供了mcrypt的这样一个加密扩展实现对数据的加密解密. 一.mcrypt扩展的安装 在低版本的PHP中需要在配置文件 ...

  3. Java NIO 概述

    Channel 和 Buffer 标准的Java IO编程接口是面向字节流和字符流的 而 NIO 是面向通道和缓冲区的 数据总是从通道中读到Buffer中,或者从Buffer写入通道中 NIO可以理解 ...

  4. 项目管理和缺陷跟踪工具Redmine

    官网: http://www.redmine.org/ http://demo.redmine.org/ 下载: http://www.redmine.org/projects/redmine/wik ...

  5. U3D临时文件GICache巨大

    C:\Users\asus\AppData\LocalLow\Unity\Caches\GiCache 看名字似乎是全局光的缓存,可以通过Edit - Preference - GI Cache,选中 ...

  6. sqlalchemy 的 ORM 与 Core 混合方式使用示例

    知乎: sqlalchemy 的 ORM 与 Core 混合方式操作数据库是一种怎样的体验? 答: 酸! 本文基于:win 10 + python 3.4 + sqlalchemy 1.0.13 基本 ...

  7. freemarker语法简介

    ftl是一种模板标记语言,用于渲染数据,输入html结构.语法简介如下: ${book.name} ${book.name?if_exists} //值是否存在 ${book.name??} //值是 ...

  8. 20145222黄亚奇《Java程序设计》第1周学习总结

    教材学习内容总结 BJVM是Java程序唯一认识的操作系统,其可执行文件为.class文档 Java的三大平台为Java SE,Java EE,Java ME. Java SE的四个部分为:JVM,J ...

  9. 面试官的七种武器:Java篇

    起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界 ...

  10. Ajax在调用含有SoapHeader的webservice方法

    ·         [WebService(Namespace = "http://tempuri.org/")] ·             [WebServiceBinding ...