拯救小鸡

2023-10-29

问题 B: 拯救小鸡

时间限制: 1 Sec   内存限制: 128 MB
提交: 91   解决: 44
[ 提交][ 状态][ 讨论版]

题目描述

鸡国最近遇到了一件很棘手的事情,经常有一只老鹰想来抓小鸡。经鸡国情报员探查,这只老鹰打算共来袭击 n 次,第 i 次来的时刻为第 t i  (1≤i≤n)  秒时刻。 
鸡国国王为了保护鸡国中的小鸡,决定派出鸡国警察(鸡国有无穷多个警察)来巡逻。
每个警察巡逻的时间长度都为 t 秒。当老鹰来袭击的时刻至少要有 x 名警察才能抵御老鹰的袭击。另外国王派遣警察有两个原则: 
(1)每个时刻最多只能派遣一名警察。在第 0 秒时刻及第 0 秒之前的时刻(鸡国有负数时刻)也可以事先准备派遣警察,但每个时刻最多也只能派遣一名警察。 
(2)延迟 1 秒执行巡逻任务。第 i 秒时刻派遣的警察,在第 i+1 到 i+t 秒时刻执行巡逻任务。 
为帮助国王节省开支,请帮忙计算至少需要派遣多少名警察才能保证鸡国小鸡不被老鹰抓走? 

输入

输入共 2 行。 
第 1 行输入三个整数 n,t,x,分别表示老鹰总共袭击次数,每个警察巡逻的时间长度为,以及某个时刻能抵挡住老鹰袭击的最少警察数量。 
第 2 行 n 个严格升序排列的正整数 t i  (1≤i≤n),表示第 t i 秒时刻老鹰会发动袭击。 

输出

输出 1 行一个整数,表示总共至少需要派遣多少个警察才能抵御老鹰的 n 次袭击,如果出现无法抵御老鹰的袭击时,输出“-1”(不包含双引号)。 

样例输入

3 3 3
2 3 4

样例输出

5
题目大意 :
找到重叠区间 删去重复的部分 得到最终结果;
枚举每个时间点,当执勤时间t小于警察数x时,小j 没有生还的可能,
每个时间点都有一个大小为t的区间,从区间中找到x个点(不包括自身),t大于x,
怎么找重复区间呢?
第一个点需要x个警察,不妨把x个点看做连续的点,这样可以尽量照顾后边的点
第一个点和第二个点之间距离如果大于时间t,第二个点就会像第一个点一样 成为孤立的点,若小于t则出现重复区间
第一个点前边一定有x个连续的点,从第二个点开始,找出与第一个点的重复点的个数,用x减掉,就是除去第一个点的
第二个点前连续点的个数, 具体细节看代码
枚举完毕,题就解决了;
#include<iostream>//聪明的张大帅 
using namespace std;
int main()
{
	int n,t,x,a[50000];
	while(cin>>n>>t>>x)
	{
		if(t<x)
		{
		cout<<"-1"<<endl;
		break;
		}
		int i,b=x,c,d,sum=x;
		for(i=0;i<n;i++)
		cin>>a[i];
		for(i=1;i<n;i++)
		{
			c=t-(a[i]-a[i-1]);
			if(c<=0)
			{
				sum+=x;
				continue; 
			}
			if(b>c)
				{
				sum+=x-c;
				if(x-c<a[i]-a[i-1])
				b=x-c;
				else 
				b=b+x-c;
				}
			else {
			sum+=x-b;
			if(x-b<a[i]-a[i-1])
				b=x-b;
			else 
				b=b+x-b;
			}
		}
		cout<<sum<<endl;
	}
	return 0;
 } 


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拯救小鸡 的相关文章

  • python实现弹球小游戏

    跟着趣味开发python一起实现的弹球小游戏 游戏运行效果 实现流程 1 创建游戏画布 创建ball类 2 增加几个动作 让小球移动 让小球来回反弹 改变小球的起始方向 3 加上球拍 使球拍左右移动 循环移动 4 增加输赢因素 对小球位置进
  • 运动补偿 & 运动估计

    运动补偿是一种描述相邻帧 相邻在这里表示在编码关系上相邻 在播放顺序上两帧未必相邻 差别的方法 具体来说是描述前面一帧 相邻在这里表示在编码关系上的前面 在播放顺序上未必在当前帧前面 的每个小块怎样移动到当前帧中的某个位置去 这种方法经常被
  • Effective Modern C++ Item 20 对于类似std::shared_ptr但有可能悬空的指针,使用std::weak_ptr

    如果需要某种智能指针能够像std shared ptr一样方便 但又无需参与管理所指涉到的对象的共享所有权的话 就很好适合用std weak ptr 但这样的功能同样会带来一个问题 这种指针需要处理一个对std shared ptr而言不是
  • softmax分类器_Softmax 理解

    Softmax深入理解 译 AIUAI www aiuai cn Pytorch的交叉熵nn CrossEntropyLoss在训练阶段 里面是内置了softmax操作的 因此只需要喂入原始的数据结果即可 不需要在之前再添加softmax层
  • OpenWrt-SDK-编译生成ipk软件包

    版本 Barrier Breaker 类型 brcm2708 下载SDK http downloads openwrt org barrier breaker 14 07 brcm2708 generic OpenWrt SDK brcm2
  • linux部署vue项目

    命令行进入配置文件 vi usr local nginx conf nginx conf 输入i进行修改端口号和文件路径 按ESC保存后输入 wq退出 进入sbin启动nginx cd usr local nginx sbin nginx
  • FMC164-基于JESD204B的4路1Gsps AD 4路1.25Gsps DA FMC子卡

    板卡介绍 FMC164子卡集成4通道1Gsps采样率 16位AD 4通道1 25Gsps 16位DA 板载时钟芯片HMC7044 可以提供JESD204B所需要的各种时钟 具有同步 触发功能 模拟信号采用SSMC射频连接器输入和输出 板卡可
  • es 修改mappings字段结构

    es不支持直接修改mappings字段结构 可以通过 reindex 重建索引 方式修改 POST reindex source index old index dest index new index op type create Ela
  • 记录:Qt Creator 10配置安卓开发环境

    Qt Creator 现在的安卓开发环境配置相比老版本方便了不少 本文以目前在线安装版的 Qt Creator 10 0 2 Qt 5 15 Qt 6 5 为例做演示 有些文件可能会因为网络问题需要科学上网才能下载 1 下载 JDK htt
  • 【css】css动画实现的3种方式

    css实现动画主要有3种方式 transition实现过渡动画 transform转变动画 animation实现自定义动画 一 transition过渡动画 1 语法 transition property duration timing
  • UnityAPI.Transform变换(Yanlz+Unity+API+Transform+)

    UnityAPI Transform变换 版本 作者 参与者 完成日期 备注 UnityAPI Transform V01 1 0 严立钻 2018 08 21 UnityAPI Transform变换 发布说明 UnityAPI Tran
  • Linux·C++多线程基础知识

    目录 1 多线程 1 1 多进程与多线程 1 2 多线程理解 1 3 创建线程 1 4 join与detach方式 1 join举例 2 detach举例 1 5 this thread 2 mutex 2 1 lock与unlock 2
  • 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?

    实验环境 tensorflow版本1 2 0 python2 7 介绍 depthwise conv2d来源于深度可分离卷积 Xception Deep Learning with Depthwise Separable Convoluti
  • C#时间字符串转换

    class Program static void Main string args DateTime datetime DateTime Now 打印当前时间 Console WriteLine 时间为 n datetime n 方法1
  • Generator 函数

    Generator 函数 基本概念 与 Iterator 接口的关系 next 方法的参数 for of 循环 Generator prototype throw Generator prototype return next throw
  • docker quick start

    文章目录 安装 验证 设置阿里云加速代理 测试 常用命令 镜像和容器存储位置 容器生命周期 Dockerfile 构建镜像 部署tomcat 基础指令 构建redis镜像 容器间Link单向通信 容器间Bridge网桥双向通信 volume
  • 【Node.js实战】一文带你开发博客项目之日志(文件读写、stream流、写日志)

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 也会涉及到服务端 个人状态 在校大学生一枚 已拿多个前端 offer 秋招 未来打算 为中国的工业软件事业效力n年 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 Vue3项目实
  • memcache清除缓存

    打开cmd 输入 telnet localhost 11211 flush all

随机推荐

  • 为博客添加樱花飘落的效果

    偶然看见别人博客中樱花飘落的效果 感觉很棒 于是我也给博客加上了樱花 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 新建 sakura js 新建一个 sakura js 文件 在里面填入下面的代码 代码来自于 折月
  • 快速排序的优化

    1 快速排序的基本思想 快速排序使用分治的思想 通过一趟排序将待排序列分割成两部分 其中一部分记录的关键字均比另一部分记录的关键字小 之后分别对这两部分记录继续进行排序 以达到整个序列有序的目的 2 快速排序的三个步骤 1 选择基准 在待排
  • 24. 在QML界面中嵌入QWidget窗口

    1 说明 目前QT官方主推的界面开发方式是采用QML进行界面设计 但在QML未流行之前 很多的项目都是采用QWidget开发的 把之前的代码全部转换为QML代码显然工作量非常大 如果能将QWidget窗口嵌入到QML界面中 那么开发效率将提
  • WTL 界面设计篇(CImageEx)

    头文件声明 CImageEx h pragma once include
  • chrony实现同步阿里云时间

    1 安装chrony yum install chrony y vim etc chrony conf 修改chrony配置文件 替换默认的centos server ntp1 aliyun com iburst server ntp2 a
  • 【Winform Vlc.DotNet Fill拉伸控件实现全屏】

    其实也有WPF得实现 但是这个效率更高 cpu占用在2 以内 基本都素在1 上下浮动 但是WPF基本就是3 起步了 想看WPF实现得右转 https blog csdn net weixin 38138153 article details
  • Linux usb子系统(二) _usb-skeleton.c精析

    drivers usb usb skeleton c 是内核提供给usb设备驱动开发者的海量存储usb设备的模板程序 程序不长 通用性却很强 十分经典 深入理解这个文件可以帮助我们更好的理解usb子系统以及usb设备驱动框架 写出更好的us
  • Python爬虫解析网页内容

    Python爬虫是一种自动化程序 可以模拟人类用户访问网页 获取网页中的内容 爬虫在信息采集 数据分析和网络监测等领域有着广泛的应用 在爬虫过程中 解析网页内容是非常重要的一步 Python提供了许多强大的库和工具 用于解析网页内容 其中
  • 基于MMDetection训练VOC格式数据集

    一 环境说明 基于前述安装MMDetection 数据集为VOC格式 主要版本如下 Python 3 7 8 CUDA 11 3 cuDNN 8 4 0 torch 1 12 0 torchvision 0 13 0 mmcv full 1
  • js逆向之猿人学-反混淆刷题平台第十八题(jsvmp)

    链接 第十八题 jsvmp 洞察先机 猿人学 内容分析 题目要求 抓取这5页的数字 计算加和并提交结果 接口分析 F12 点击第二页 这里我们能看到有三个请求参数 page t v 一看就能知道 page 页码 t 时间戳 v 加密参数 所
  • python编写字典爆破网站登录

    在做渗透时 因为太菜了 不会用网上的爆破工具 自己就即兴写了一个简单的字典爆破 新手小白可以借鉴思路 就当学习了 大佬请绕道 如果有好用的爆破工具 欢迎大佬推荐 方便理解 我简单说一下背景 渗透的是某靶机的网站 该靶机只用输入正确密码就能成
  • python idle 清屏

    使用 python idle 写代码时 写满屏幕后 总想清屏一下 类似Windows dos窗口的 cls 命令 百度查到好多种方法 经过测试 发现均不好用 本人使用版本为 2 7 8 1 在shell中输入 import os os sy
  • C++枚举类型用法总结(enum)(可以用枚举字符常量代替常量)

    C 枚举类型enum表示枚举 通常用于定义个新类型的字符常量 比如enum January February March 枚举类型的作用域一般是整个文件或者类内 当枚举类型定义在文件开头时 则作用域是从定义位置开始往后 不包括函数内定义 当
  • 《Keras深度学习:入门、实战与进阶》之印第安人糖尿病诊断

    本文摘自 Keras深度学习 入门 实战与进阶 1 数据理解 本节使用Pima Indians糖尿病发病情况数据集 该数据集最初来自国家糖尿病 消化 肾脏疾病研究所 数据集的目标是基于数据集中包含的某些诊断测量来诊断性的预测患者是否患有糖尿
  • c++基于Resnet(Dlib库)+opencv3的高精度人脸识别

    Resnet 产生原因 介绍残差网络Resnet之前 先介绍一下卷积神经网络过程中会遇到的问题 分别有 计算资源的消耗 模型容易过拟合 梯度消失 梯度爆炸问题的产生 问题1可以通过GPU集群来解决 对于一个企业资源并不是很大的问题 问题2的
  • Latex作者右上角ORCID图标的引入以及取消参考文献绿框的方法

    前言 如何在Latex编写过程中直接在作者栏右上角添加ORCID的标识 如下图所示 首先需要引入两个包 usepackage orcidlink usepackage tikz 以李四的ORCID为0000 0001 1234 1234为例
  • pipeline入门

    1 什么是pipeline 在jenkins官方文档是这样介绍pipeline的 https www jenkins io zh doc pipeline是一套jenkins官方提供的插件 它可以用来在jenkins中实现和集成连续交付 p
  • 网络工程师常见面试题,1分钟就能看完

    哈喽大家好 我是网工学姐 今天我们继续来看看网络工程师在面试中的一些常见问题 后续也会持续更新 大家可以收藏起来慢慢看哦 面试官 请说一下什么是TCP 参考答案 TCP 是TCP IP四层模型中的传输层协议 中文名称是传输控制协议 它是一个
  • win10无法访问共享服务器的文件夹,win10系统无法访问共享文件夹提示网络错误的解决方法...

    win10系统想必大家都非常熟悉吧 然而有时候可能会碰到win10系统无法访问共享文件夹提示网络错误的情况 想必大家都遇到过win10系统无法访问共享文件夹提示网络错误的情况吧 那么应该怎么处理win10系统无法访问共享文件夹提示网络错误呢
  • 拯救小鸡

    问题 B 拯救小鸡 时间限制 1 Sec 内存限制 128 MB 提交 91 解决 44 提交 状态 讨论版 题目描述 鸡国最近遇到了一件很棘手的事情 经常有一只老鹰想来抓小鸡 经鸡国情报员探查 这只老鹰打算共来袭击 n 次 第 i 次来的