东方Project题目 1975 红魔馆爆炸了
这是湖南科技大学OJ中的一道题目,因为在刷贴吧的时候看到了,所以就做了。
题目描述
红魔馆最近迎来了两块陨石,由于防范不到位,第一块陨石从天而降,红魔馆爆炸了。馆主蕾米莉亚有着强大的力量,她决定阻止第二块陨石,方法是将陨石打爆,使其分裂成若干个小石块。
为了简化问题,我们可以将一块陨石看作由连续的 n
个石块组成,每个石块包含了一定能量,蕾米莉亚需要毁掉其中某一段连续的石块(该段能量和为 s
),被毁掉的石块将会消失,且因连锁反应还会使剩余石块总能量减少 s
,蕾米莉亚需要保证剩余石块总能量不大于 m
,红魔馆就能保存下来。蕾米莉亚想知道她最短需要毁掉的连续石块长度。
输入
有多组输入。
每组输入第 1
行为两个数字 n
、m(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 红魔馆爆炸了相关推荐
- 红魔馆爆炸了---湖南科技大学oj1975---尺取法
**红魔馆爆炸了** 题目描述 红魔馆最近迎来了两块陨石,由于防范不到位,第一块陨石从天而降,红魔馆爆炸了.馆主蕾米莉亚有着强大的力量,她决定阻止第二块陨石,方法是将陨石打爆,使其分裂成若干个小石块. ...
- 对于有关东方的题目的整理。。
东方赛高 此为总贴 收录以东方project为背景的题目. 模拟赛套题...(25道)无数据,有题面:二次联通门 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过 ...
- 无心插柳——ZUN和“东方Project”对游戏女性角色设计的影响
本文首发于"青花会游戏百科"(公众号ID:QingHua_Game) 在国内ACG圈有一种说法,把"寒蝉""月姬""东方Proje ...
- SpaceX星舰飞船首次试飞成功着陆!但没想到还是爆炸了...
据国外媒体报道,当地时间周三,美国太空探索技术公司SpaceX旗下的星际飞船原型SN10发射升空,在距地6英里(10公里)的高空进行了飞行测试. 这次飞行测试真的是一波三折. SpaceX的星际飞船原 ...
- 1224 红魔馆的纸牌游戏 (计算24点,dfs)
Description 红魔馆的蕾米莉亚大小姐一天发现人类有一种叫做24点的游戏,于是就带着一副不知哪里弄来的扑克牌到图书馆找帕秋莉玩 24点游戏的规则:从一副牌中随机抽取4张牌,牌的点数为1到13之 ...
- 我办公室的靠背椅子竟然爆炸了,幸好我没在座位上 会爆炸的椅子
01.jpg (211.69 KB) 2009-2-11 14:57 爆炸威力也太大了,椅子算是彻底完蛋了!而且把头顶上的天花板也被打了个洞.还有上面的灯管也打爆了-- 另外,据我所知,大部分的单位都 ...
- 刚刚 !SpaceX 的星际飞船,爆炸了! SpaceX 的技术到底有多强?
大点击"开发者技术前线",选择"星标" 在看|星标|留言, 真爱 综合自:量子位 & Space X 开发者技术前线报道 回复"666&q ...
- 理财笔记 - 朋友圈爆炸了
朋友圈被刷爆了,蚂蚁金服暂缓上市,打开百度首页,排名第一的就是这个事情: 看了下,朋友圈的谈论,大部分都是支持国家有关部门的,想了想,大概有如下几个方面: 1.毕竟这次蚂蚁上市造成的舆论貌似也不是完全 ...
- 登录快手显示服务器爆炸了,DNF手游:官方开启“压爆服务器”活动?排队长达一万人...
最近随着dnf手游定档8月12号的消息传出,许多玩家都沸腾了,毕竟这可是苦苦等待了长达五年之久的手游,现在"鸽王"终于不再跳票了玩家们的开心程度可想而知.现在官网的预约人数就已经突 ...
最新文章
- Python3中的内置函数总结
- 我们的2009 梦想照进了现实
- CentOS-6.4 minimal - 安装VMware Tools(linux)
- 强大的DataGrid组件[13]_字段过滤(Filter)——Silverlight学习笔记[21]
- [并发编程] - Executor框架#ThreadPoolExecutor源码解读01
- 6月4日云栖精选夜读丨加拿大AI有多强?一年投入60亿,吸引Hinton、Bengio等大神...
- java 内嵌调用_Java高级开发必会的50个性能优化的细节(珍藏版)
- Vue中使用echarts图表插件
- SCOM管理包模板的介绍及使用
- MySQL orzdba、dodba、top、iostat、vmstat、perf等
- 能“社交”的机器人助理问世 可“察言观色”
- linux下docker部署redis
- Web(4)servlet
- word输入公式快捷键
- 2023年,如何管理你的绩效目标?
- 图像特效---哈哈镜效果滤镜
- 有意思的张飞日记-_-
- 几款强大的PPT制作辅助软件
- 计算机领域的诺贝尔奖是图灵奖,计算机界的诺贝尔奖图灵奖.DOC
- Mybatis报错Clock moved backwards. Refusing to generate id for xxx milliseconds