这是湖南科技大学OJ中的一道题目,因为在刷贴吧的时候看到了,所以就做了。


题目描述
红魔馆最近迎来了两块陨石,由于防范不到位,第一块陨石从天而降,红魔馆爆炸了。馆主蕾米莉亚有着强大的力量,她决定阻止第二块陨石,方法是将陨石打爆,使其分裂成若干个小石块。

为了简化问题,我们可以将一块陨石看作由连续的 n 个石块组成,每个石块包含了一定能量,蕾米莉亚需要毁掉其中某一段连续的石块(该段能量和为 s ),被毁掉的石块将会消失,且因连锁反应还会使剩余石块总能量减少 s ,蕾米莉亚需要保证剩余石块总能量不大于 m ,红魔馆就能保存下来。蕾米莉亚想知道她最短需要毁掉的连续石块长度。

输入
有多组输入。
每组输入第 1 行为两个数字 nm(1<=n<=10^5,1<=m<=10^9),表示总共有 n 个石块,蕾米莉亚需
要将剩余总能量控制在不大于 m 。接着 n 行,每行包含一个整数 ai ,表示第i个石块的能量 (1<=ai<=10^4)
各组数据的 n 总和不超过 10^6

输出
每组输出一行,只包含一个整数,表示最少需要毁掉的连续石块长度。

题意:找到最少需要毁掉的连续石块长度。

思路:连续石块是区间,最少的长度说明要找到的区间和最大且区间最短。存在单调性,连续区间越长,最大的区间和越大。因此,这种题目可以用二分来做,找到第一个满足题意的区间长度(最短)即可。代码中用的是二分长度+滑动区间(找到该固定长度的区间中最大的区间和),也可以用前缀和维护区间和,更简单一点。

代码:

#include <cstdio>
#include <algorithm>
typedef long long ll;
using namespace std;
const int MAXN = 100100;
ll a[MAXN];int main() {ll n, m;while (~scanf("%lld%lld", &n, &m)) {ll sum = 0, lo = 0, hi = n;for (int i = 0; i < n; ++i) {scanf("%lld", &a[i]);sum += a[i];} while (lo < hi) {ll mid = (lo + hi) >> 1, maxWindow = 0, nowWindow = 0;for (int i = 0; i < n; ++i) {if (i < mid) maxWindow += a[i];else {nowWindow = (i == mid) ? maxWindow : nowWindow;nowWindow = nowWindow + a[i] - a[i - mid]; //当前连续区间的能量 maxWindow = max(nowWindow, maxWindow); //最大能量区间 }}if (sum - maxWindow * 2 <= m) hi = mid;else lo = mid + 1;}printf("%lld\n", lo);}return 0;
}

东方Project题目 1975 红魔馆爆炸了相关推荐

  1. 红魔馆爆炸了---湖南科技大学oj1975---尺取法

    **红魔馆爆炸了** 题目描述 红魔馆最近迎来了两块陨石,由于防范不到位,第一块陨石从天而降,红魔馆爆炸了.馆主蕾米莉亚有着强大的力量,她决定阻止第二块陨石,方法是将陨石打爆,使其分裂成若干个小石块. ...

  2. 对于有关东方的题目的整理。。

    东方赛高 此为总贴 收录以东方project为背景的题目. 模拟赛套题...(25道)无数据,有题面:二次联通门 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过 ...

  3. 无心插柳——ZUN和“东方Project”对游戏女性角色设计的影响

    本文首发于"青花会游戏百科"(公众号ID:QingHua_Game) 在国内ACG圈有一种说法,把"寒蝉""月姬""东方Proje ...

  4. SpaceX星舰飞船首次试飞成功着陆!但没想到还是爆炸了...

    据国外媒体报道,当地时间周三,美国太空探索技术公司SpaceX旗下的星际飞船原型SN10发射升空,在距地6英里(10公里)的高空进行了飞行测试. 这次飞行测试真的是一波三折. SpaceX的星际飞船原 ...

  5. 1224 红魔馆的纸牌游戏 (计算24点,dfs)

    Description 红魔馆的蕾米莉亚大小姐一天发现人类有一种叫做24点的游戏,于是就带着一副不知哪里弄来的扑克牌到图书馆找帕秋莉玩 24点游戏的规则:从一副牌中随机抽取4张牌,牌的点数为1到13之 ...

  6. 我办公室的靠背椅子竟然爆炸了,幸好我没在座位上 会爆炸的椅子

    01.jpg (211.69 KB) 2009-2-11 14:57 爆炸威力也太大了,椅子算是彻底完蛋了!而且把头顶上的天花板也被打了个洞.还有上面的灯管也打爆了-- 另外,据我所知,大部分的单位都 ...

  7. 刚刚 !SpaceX 的星际飞船,爆炸了! SpaceX 的技术到底有多强?

    大点击"开发者技术前线",选择"星标" 在看|星标|留言,  真爱 综合自:量子位 & Space X  开发者技术前线报道 回复"666&q ...

  8. 理财笔记 - 朋友圈爆炸了

    朋友圈被刷爆了,蚂蚁金服暂缓上市,打开百度首页,排名第一的就是这个事情: 看了下,朋友圈的谈论,大部分都是支持国家有关部门的,想了想,大概有如下几个方面: 1.毕竟这次蚂蚁上市造成的舆论貌似也不是完全 ...

  9. 登录快手显示服务器爆炸了,DNF手游:官方开启“压爆服务器”活动?排队长达一万人...

    最近随着dnf手游定档8月12号的消息传出,许多玩家都沸腾了,毕竟这可是苦苦等待了长达五年之久的手游,现在"鸽王"终于不再跳票了玩家们的开心程度可想而知.现在官网的预约人数就已经突 ...

最新文章

  1. Python3中的内置函数总结
  2. 我们的2009 梦想照进了现实
  3. CentOS-6.4 minimal - 安装VMware Tools(linux)
  4. 强大的DataGrid组件[13]_字段过滤(Filter)——Silverlight学习笔记[21]
  5. [并发编程] - Executor框架#ThreadPoolExecutor源码解读01
  6. 6月4日云栖精选夜读丨加拿大AI有多强?一年投入60亿,吸引Hinton、Bengio等大神...
  7. java 内嵌调用_Java高级开发必会的50个性能优化的细节(珍藏版)
  8. Vue中使用echarts图表插件
  9. SCOM管理包模板的介绍及使用
  10. MySQL orzdba、dodba、top、iostat、vmstat、perf等
  11. 能“社交”的机器人助理问世 可“察言观色”
  12. linux下docker部署redis
  13. Web(4)servlet
  14. word输入公式快捷键
  15. 2023年,如何管理你的绩效目标?
  16. 图像特效---哈哈镜效果滤镜
  17. 有意思的张飞日记-_-
  18. 几款强大的PPT制作辅助软件
  19. 计算机领域的诺贝尔奖是图灵奖,计算机界的诺贝尔奖图灵奖.DOC
  20. Mybatis报错Clock moved backwards. Refusing to generate id for xxx milliseconds

热门文章

  1. 1688获得店铺所有商品接口调用展示
  2. 【调剂】江汉大学2021年硕士研究生招生接收调剂公告(二)
  3. 浪涌保护器+电涌保护器+SPD的选用指南
  4. 如何零基础学习解析几何
  5. 6.4应用实例:六度空间
  6. 聚焦 Android 11: 大功告成
  7. 如何建立自己的光纤网络来连接数据中心
  8. 友情链接作用与方法详解
  9. 看看远处,也许可以恢复视力。
  10. 微信公众号第三方授权开发——推送component_verify_ticket协议