【jzoj2222】拯救小鸡
题目描述
鸡国最近遇到了一件很棘手的事情,经常有一只老鹰想来抓小鸡。经鸡国情报员探查,这只老鹰打算共来袭击 n 次,第 i 次来的时刻为第 ti(1≤i≤n) 秒时刻。
鸡国国王为了保护鸡国中的小鸡,决定派出鸡国警察(鸡国有无穷多个警察)来巡逻。每个警察巡逻的时间长度都为 t 秒。当老鹰来袭击的时刻至少要有 x 名警察才能抵御老鹰的袭击。另外国王派遣警察有两个原则:
(1)每个时刻最多只能派遣一名警察。在第 0 秒时刻及第 0 秒之前的时刻(鸡国有负数时刻)也可以事先准备派遣警察,但每个时刻最多也只能派遣一名警察。
(2)延迟 1 秒执行巡逻任务。第 i 秒时刻派遣的警察,在第 i+1 到 i+t 秒时刻执行巡逻任务。
为帮助国王节省开支,请帮忙计算至少需要派遣多少名警察才能保证鸡国小鸡不被老鹰抓走?
输入
输入共 2 行。
第 1 行输入三个整数n,t,x,分别表示老鹰总共袭击次数,每个警察巡逻的时间长度,以及某个时刻能抵挡住老鹰袭击的最少警察数量。
第 2 行 n 个严格升序排列的正整数 ti(1≤i≤n),表示第 ti秒时刻老鹰会发动袭击。
输出
输出 1 行一个整数,表示总共至少需要派遣多少个警察才能抵御老鹰的 n 次袭击,如果出现无法抵御老鹰的袭击时,输出“-1”(不包含双引号)。
样例输入
Input1:
3 3 3
2 3 4
Input2:
1 2 3
3
样例输出
Output1:
5
Output2:
-1
数据范围限制
提示
Sample1:
样例 1 中,老鹰来袭击 3 次,分别在第 2,3,4 秒时刻,每个警察的巡逻时间为 3 秒,当老鹰来袭击时至少要有 3 名警察才能抵御老鹰的袭击。首先可以在第-1,0,1 秒三个时刻分别派遣一名警察,抵御老鹰第 2 秒时刻的袭击,然后再在第 2 秒时刻派遣一名警察,连同第 0,1 秒两个时刻派遣的警察(此时第-1 秒时刻派遣的警察已经休息)就可以抵御老鹰第 3 秒时刻的袭击,最后在第 3 秒时刻派遣一名警察,连同第 1,2 秒两个时刻派遣的警察(此时第 0 秒时刻派遣的警察也已经休息)就可以抵御老鹰第 4 秒时刻的袭击,所以至少需要派遣 5 名警察。
Sample2:
样例 2 中,老鹰来袭击 1 次,在第 3 秒时刻,每个警察的巡逻时间为 2 秒,但当老鹰来袭击时至少要有 3 名警察才能抵御老鹰的袭击,按照国王派遣警察的原则,无法实现抵御老鹰的任务,输出“-1”。
解题思路
暴力统计每次攻击不重复用多少警察
#include<iostream>
#include<cstdio>
using namespace std;
const int M=10000;
int n,m,t,x,sum,Gun,a[M*2+100];
int main(){freopen("chicken.in","r",stdin);freopen("chicken.out","w",stdout);scanf("%d%d%d",&n,&m,&t);if(m<t){//如果警察能巡视的时间范围都有警察,但是还是不够printf("-1");return 0;}for(int i=1;i<=n;i++){scanf("%d",&x);sum=0;for(int i=x-1;i>=x-m;i--)sum+=a[i+M];if(sum<t){//如果此前派出的警察还是不够for(int i=x-1;i>=x-m;i--)if(!a[i+M]){a[i+M]=1;Gun++,sum++;if(sum==t)break;//派到警察够为止}}}printf("%d",Gun);
}
【jzoj2222】拯救小鸡相关推荐
- 2017暑假训练第一场的一些题目
2017暑假ACM训练第一场(石油大学主办) B题:模拟 3635: 拯救小鸡 时间限制: 1 Sec 内存限制:128 MB 提交: 71 解决: 34 [提交][状态][讨论版] 题目描述 鸡 ...
- 17暑期ACM俱乐部个人训练赛第1场 (石油oj) 7.24号
//暑假训练第一场,孤军奋斗,事后各种补题,(ps,说实话,时间点卡的不是很好,12点到17点, 没有午觉,大脑犯困, 各种困,各种累,再者,自己也慢慢的发现 精力开始不放在算法上了, 很多时候在做其 ...
- 中石油 暑期集训个人赛第一场 题解
首先是签到题部分:A,E,I. 传送门:点击打开链接 然后是DP部分:C,G,H. 传送门:点击打开链接 还有其他:B,J,H,F. 神奇的B题(我的第一个一血) 问题 B: 拯救 ...
- 决战燕京城-09 白狗大战蟒蛇
刘三哥在路上和宋无极.高剑庭二人说明了事情经过,原来是下墓寻找固元丹还需要带着黑狗血,用来辟邪清除墓室阴秽.老锁龙人在寻找的过程中发现了一只特殊的狗,发现这只狗灵智已开,带着它下墓帮助更大,想着让 ...
- android闹钟测评,游戏闹钟AlarmMon评测 让起床变得快乐
对于上班族和学生而言,起床也许事件很痛苦的事.无论是打断美梦还是赖床,闹钟的声音都让人感到厌恶.虽然市面上有很多种别出心裁的闹钟及闹钟应用,但是这些闹钟不是摇动手机数十下就是计算各类变态的数学题,归根 ...
- java小鸡大冒险_小鸡大冒险
游戏介绍 一款独特的横版冒险的小鸡游戏,游戏中玩家要控制一个小鸡在一个充满危险的小房间里,面对各种关卡前行,周围会不断的出现阻扰你前面的各种武器道具,小心谨慎的过关前提下,不燃你可能就血腥当场了,多趣 ...
- 联想拯救者Y9000-ubuntu-nvidia-驱动安装
概述 由于联想拯救者Y9000的硬件都比较新,所以在安装ubuntu 的时候会有很多驱动的问题,本文主要讲解安装nvidia驱动的问题,如网卡.触摸板无效的其他问题请在我的其他文章中查找 友情提示 安 ...
- 中国电子学会青少年编程能力等级测试图形化一级编程题:小鸡与鸭妈拥抱
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...
- 【青少年编程】【三级】小鸡吃虫
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...
最新文章
- TCP协议的特点和TCP报文段格式
- 【网络流24题】解题报告:E 、圆桌问题(最大流求二分图多重匹配)
- centos的nginx支持ssl
- JavaScript权威指南 - 函数
- [K/3Cloud] 创建一个单据转换插件
- 异步接口同步返回_同步|异步
- Tomcat到Wildfly:配置数据库连接
- 虚拟化五、KVM虚拟化技术2
- 汇编语言---判断字符
- win10 update 关闭计算机,Win10关闭Windows Update服务的方法
- DoNet6新特性 PriorityQueue 优先队列终于来啦~
- 2、CSS动画之行走的米兔、奔跑的小人
- 以太网帧各字段的含义_车载以太网(上)
- 坐标旋转变换 公式图解
- R语言中igraph包的使用(邻接矩阵)
- python的Tkinter库简单应用——开发一个简易计算器
- random.seed(seed)、np.random.seed(seed)、torch.manual_seed(seed)作用
- 卧槽,爆款了!!!小游戏开发者,公测当日收益过千!
- flv怎么无损转换成mp4格式,3大超级方法分享
- 串口服务器连接无线路由慢,Tplink路由器突然上网特别慢怎么办解决方案