题目描述

贝茜这头奶牛设计了她所认为的下一个热门视频游戏—“愤怒的奶牛”。她认为这是她完全原创的:玩家将一个弹弓射到一个一维的场景中,该场景由位于数字线上各个点的一组干草包组成。每只奶牛都有足够的力量引爆其落地地点附近的干草包,我们的目的是使用一系列奶牛引爆所有的干草包。
有N捆干草包位于这一行的不同整数位置x1,x2,…,xN,如果一头奶牛以能量R着陆在了数轴上的任意一个位置x,那么会引起半径为R(R-x…R+x)的爆炸,并摧毁范围内的所有干草包。
一共有K头奶牛允许被用来作为炮弹,每头奶牛的能量R都相同。请帮忙决定这个最小的能量,使得用这K头奶牛可以摧毁所有的干草包。

输入
第一行包含两个整数N,K(1<=N<=50,000,1<=K<=10)
接下来N行,每行包含一个整数xi,表示每捆干草包的位置(0<=xi<=1,000,000,000)

输出
一行一个整数,表示最少所需要的每头奶牛的能量值R

样例输入

7 2
20
25
18
8
10
3
1

样例输出

5

解题思路

二分求能量值

落下的点是任意的,那么草堆在不超过2*能量值的情况下为一个引爆区域,引爆区域数不超过奶牛代表方案可行


#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[50100];
long long l,r;
bool demo(long long x){long long k=0;int t=0,j=0;for(int i=1;i<=n;i=j){t++;while(a[j]-a[i]<=x*2&&j<=n)j++;}return t<=m;
}
int main(){freopen("angry.in","r",stdin);freopen("angry.out","w",stdout);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+1+n);l=1,r=(a[n]-a[1])*2;while(l<r){long long mid=(l+r)/2;if(demo(mid))r=mid;else l=mid+1;}printf("%lld",r);
}

【jzoj2220】【二分】愤怒的奶牛2(angry)相关推荐

  1. 二分答案——进击的奶牛(洛谷 P1824)

    题目选自洛谷P1824 很容易看出答案随着区间的增加是单调的,因此采用二分的方式求解, 稍微改动的就是判断函数,这里得到一个距离,依次放入牛,判断能否放入下一头牛,当所有隔间都被遍历完后,如果成功放入 ...

  2. AcWing 1855. 愤怒的奶牛(枚举+暴力)

    题目链接 https://www.acwing.com/problem/content/1857/ 思路 直接模拟每个点都是爆炸点,然后向左向右模拟即可,详情请看代码 代码 #include<b ...

  3. [Usaco2016 Jan]Angry Cows

    [Usaco2016 Jan]Angry Cows Description 奶牛Bessie设计了一个游戏:"愤怒的奶牛".游戏的原型是:有一些可爆炸的草堆分布在一条数轴的某些坐标 ...

  4. 17暑期ACM俱乐部个人训练赛第1场 (石油oj) 7.24号

    //暑假训练第一场,孤军奋斗,事后各种补题,(ps,说实话,时间点卡的不是很好,12点到17点, 没有午觉,大脑犯困, 各种困,各种累,再者,自己也慢慢的发现 精力开始不放在算法上了, 很多时候在做其 ...

  5. 2020/10/31模拟赛

    CSP第二轮前模拟赛 我太菜了 T1 题目描述 奶牛们对围栏的高度非常敏感.奶牛希望围栏高度既不太矮以至于他们没有安全感,也不太高以至于她们看不见围栏外的天地.所以每头奶牛都有自己喜欢的高度.奶牛有N ...

  6. 本周培训题目的心得体会

    1.二分查找 题目描述 输入 n 个不超过  的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1​,a2​,-,an​,然后进行 m 次询问.对于每次询问,给出一个整数 q,要求输出这个数字 ...

  7. 春季每日一题2022 Week 1 【完结】

    目录 3346. 你知道你的ABC吗[排序] 3358. 放养但没有完全放养[贪心] 3370. 牛年[模拟] 3745. 牛的学术圈 I[二分] 1459. 奶牛体操[暴力] 1442. 单词处理器 ...

  8. 题目汇总(ACWing)

    枚举: 1.拍照 解题思路:枚举a1,求出每个ai,然后检查这个答案是否合法. 2.牛为什么过马路 解题思路:对于一对相同的字母,枚举中间是否存在没有记录的单个字符. 3.牛的基因组学 解题思路:暴力 ...

  9. 宁波市第32届中小学生程序设计竞赛(初中组) 母鸡下蛋

    问题 C: 母鸡下蛋 鸡国中的母鸡最擅长下蛋了,MGMG 是鸡国中一只以下蛋产量高而闻名全鸡国的母鸡. 鸡国专供下蛋的 n 个鸡窝呈一字排列在鸡国的"下蛋中心",从左到右依次编号为 ...

最新文章

  1. 23hibernate_pessimistic_locking
  2. 中专是计算机专业毕业论文,中专计算机专业毕业论文内容
  3. hibernate关联关系(一对多)
  4. java实现layui分页_基于LayUI分页和LayUI laypage分页的使用示例
  5. 汇编 div_Solidity汇编开发简明教程
  6. networkx 画有权图_利用NetworkX画网络图
  7. android图片查看器,实现图片加载进度监听,实现保存图片
  8. python自定义类的属性_我可以将自定义方法/属性添加到内置Python类型吗?
  9. Python《搞事情==蜂-鸟-图-片(二)》
  10. Flutter Gzip 编码与解码 Dart Gzip 工具类操作
  11. Flutter StreamBuilder 实现局部刷新 Widget
  12. 为 Joomla 而生的 Kunena 论坛安装手册
  13. ASP.NET MVC Framework体验(4):控制器
  14. 启动win内linux系统吗,现在装的是linux系统,在未使用的分区内又装一个win7系统,但是启动时只有一个window系统是为什么??...
  15. LWN:Fedora 关于无驱动打印的讨论!
  16. java基于ssm+vue的高校会议预约系统 elementui
  17. 在Ubuntu 16.04中安装Google拼音
  18. 隐藏a标签html,a标签显示隐藏 js怎么控制a标签的显示和隐藏
  19. uniapp 微信小程序内打开腾讯导航路线规划
  20. oracle 开链,开链运动与闭链运动的区别

热门文章

  1. KeyMob聚合广告携手开发者 共谋移动应用广告的福利
  2. pytorch局部范围内禁用梯度计算,no_grad、enable_grad、set_grad_enabled使用举例
  3. 计算机硬盘多少克,人的大脑记忆能力相当于电脑多少G的硬盘?真相出乎你意料!...
  4. Python脚本中调用其他Python脚本
  5. 【编程题】【Scratch三级】2019.06 猫咪抓老鼠游戏
  6. scratch双语教师课件文档手册 1.初识scratch
  7. 谷粒商城项目篇8_分布式高级篇_商城首页、性能压测、优化(Nginx动静分离)
  8. echarts柱状图颜色渐变样式
  9. 运放输入偏置电流方向_运放中输入偏置电流和输入失调电流的区别
  10. HTML5实现动态时钟