原题链接

试题编号: 202203-2
试题名称: 出行计划
时间限制: 1.5s
内存限制: 512.0MB

问题描述

最近西西艾弗岛上出入各个场所都要持有一定时限内的核酸检测阴性证明。

具体来时,如果在 t 时刻做了核酸检测,则经过一段时间后可以得到核酸检测阴性证明。这里我们假定等待核酸检测结果需要 k 个单位时间,即在 t+k 时刻可以获得结果。如果一个场所要求持 24 个单位时间内核酸检测结果入内,那么凭上述的核酸检测结果,可以在第 t+k 时刻到第 t+k+23 时刻进入该场所。

小 C 按时间顺序列出接下来的 n 项出行计划,其中第 i 项(1≤i≤n)可以概括为:
ti 时刻进入某场所,该场所需持有 ci 个单位时间内的核酸检测结果入内,其中 0<ci≤2×105。

为了合理安排核酸检测时间,试根据小 C 的出行计划,回答如下查询:

  • 如果在 q 时刻做了核酸检测,有多少项出行计划的核酸检测要求可以得到满足?

这样的查询共有 m 个,分别为 q1,q2,⋯,qm;查询之间互不影响。

输入格式

输入的第一行包含空格分隔的三个正整数 n、m 和 k,分别表示出行计划数目、查询个数以及等待核酸检测结果所需时间。

接下来输入 n 行,其中每行包含用空格分隔的两个正整数 ti、ci,表示一项出行计划;出行计划按时间顺序给出,满足 0<t1≤t2≤⋯≤tn≤2×105。

最后输入 m 行,每行仅包含一个正整数 qi,表示一个查询。m 个查询亦按照时间顺序给出,满足 0<q1<q2<⋯<qm≤2×105。

输出格式

输出共 m 行,每行一个整数,表示对应查询的答案。

样例输入

6 2 10
5 24
10 24
11 24
34 24
35 24
35 48
1
2

样例输出

3
3

样例解释

时刻 1 做检测,可以满足第三、四、六项出行计划;

时刻 2 做检测,可以满足第四、五、六项出行计划。

子任务

40% 的测试数据满足 0<n,k≤1000、m=1;

70% 的测试数据满足 0<n,m,k≤1000;

全部的测试数据满足 0<n,m,k≤10^5。

大家看到第一眼肯定窃喜,直接开一个PII,然后枚举左右边界即可。然后一看,暴力超时70分,下一题哈哈。

思路:见图

很明显这里涉及到了区间,我们如何定义一段区间:在这里一个区间的意思是,区间内的数出现了一次。那么我们怎么进行区间的合并呢(如何让区间数出现的次数增加),当然是用差分了!

那么当我们计算出区间的两个端点的时候,想让区间内的数出现次数+1,只需要让左端点的差分数组+1,右端点的右边差分数组-1;

那么计算完之后,我们只是改变了端点,如何得到全局的数组呢,这里就又用到了前缀和

简言之,对于一维前缀和来说,一般可以写成s[i] += s[i -1];

AC代码

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 200010;
int q[N];
int n, m, k;int main()
{cin >> n >> m >> k;while (n -- ){int a, b;cin >> a >> b;int l = max(1, a - b + 1 - k);//找出左右端点,注意x的范围是> 0的,所以端点不能是负数int r = max(1, a - k);q[l] ++, q[r + 1] --;//差分}for (int i = 1; i <= N; i ++ )//构造前缀和数组q[i] += q[i - 1];while (m -- ){int x;cin >> x;cout << q[x] << endl;}
}

出行计划202203-2相关推荐

  1. CSP 202203 题解:未初始化警告,出行计划,计算资源调度器,通信系统管理,博弈论与石子合并

    试题内容请前往CCF官网查看: CCF-CSP计算机软件能力认证考试 http://118.190.20.162/home.page CCF 官方题解请点击这里. 阅读本题解前,您应当了解下列知识: ...

  2. CSP 202203-2出行计划

    问题分析: 差分板子.根据题意描述可以反推得到对于每个出行计划合法的核酸检测的时间区间.假设在x时刻进入公共场所,其需要c小时内的核酸证明,k小时候出核酸结果可以推出这个合法区间为[x−k−c+1,x ...

  3. ~3 ccf 2022-03-2 出行计划

    出行计划 题目描述 输入 输出 样例输入 样例输出 源代码 关于这题 题目描述 输入 输出 样例输入 6 2 10 5 24 10 24 11 24 34 24 35 24 35 48 1 2 样例输 ...

  4. 2019奥迪创新实验室大赛招募第一弹|趁现在,定一份未来出行计划

    2019奥迪创新实验室大赛招募第一弹|趁现在,定一份未来出行计划 人们对于出行的想象,从未停止. 1899年,欧洲的一本杂志曾组织一群美术家.插画家,做了关于100年后世界的想象,并把他们想到的样子画 ...

  5. CSP认证 202203-2 出行计划(多种解法)

    解法一前置知识:差分数组 解法二前置知识:线段树 试题编号: 202203-2 试题名称: 出行计划 时间限制: 1.5s 内存限制: 512.0MB 问题描述: 问题描述 最近西西艾弗岛上出入各个场 ...

  6. 【ccf】20220302出行计划

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 问题描述 思路 :差分方法 差分解法过程 代码 问题描述 思路 :差分方法 根据题目的意思,给出一个做核酸的时间q,要计算出 ...

  7. 人在旅途——》云南8天出行计划清单

    版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者. https://blog.csdn.net/weixin_43453386/article/detai ...

  8. 2021年小长假有变化?你做好出行计划了吗?

    近日,相关部门回应适当延长小长假,在发布"关于2021年部分节假日安排的通知"中,没有做出调整,有关消费的内容也没有进行修改. 那么多个假期节日即将到来,休息几天?准备好去哪玩了吗 ...

  9. 机票预定系统类图_出行干货|在法国,廉价机票攻略

    来到法国,怎么能不进行一下欧洲游呢? 作为留学生的我们,生活通常已经非常艰难TAT 所以说,买到便宜的机票,就能省下钱来体验更多的游玩项目,这绝对是出行愉快的法宝! 小编总结了购买机票的攻略,希望帮助 ...

最新文章

  1. AS3.0的int uint Number的使用原则
  2. 验证码的产生 python
  3. Common sql statement
  4. jzoj6274-[NOIP提高组模拟1]梦境【贪心,堆】
  5. 试了试Docker桌面应用自带的K8s集群,一个字“简单”
  6. tushare 安装
  7. 天正电气lisp是什么文件_模仿天正电气低压系统图 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  8. python 字典 列表 深度遍历_如何完全遍历未知深度的复杂字典?
  9. DXperience Winforms12.2版的中文使用手册
  10. 怎样检测php语法错误,php语法检查的方法总结
  11. 消息队列的全双工通信
  12. TigerGraph率先推出原生图数据库即服务,3200万美元B轮融资在这里!
  13. 数字化门店管理|如何让门店数字化管理,更加贴合日常运营细节?
  14. .NET MVC 后台接受base64的上传图片
  15. 学术海报Poster-- 模板分享
  16. 帮我从求职者的角度分析一下现在使用人数最多的十大汉语线上教学平台的申请难度...
  17. (二)Linux ALSA 音频系统:逻辑设备篇
  18. Axure9中点击变颜色、形状等样式操作
  19. 事件循环(Event Loop)相关概念 及 面试题
  20. 事业工种计算机打字,仅靠电脑打字月薪上万,带你走进神秘的速录师行业!

热门文章

  1. oracle定时备份SHELL,shell数据库备份脚本oracle
  2. spring boot+mybatis+thymeleaf+pagehelper分页插件实现分页功能
  3. 【Arduino】温湿度传感器(DHT11)控制设计 四位数码管,LCD1602,带蜂鸣器、LED灯报警,串口输入设定阈值
  4. python字符串相似度去重_Python 字符串相似性的几种度量方法
  5. 盘点2012年微博十大丑闻
  6. 2022-2028全球智慧店铺行业调研及趋势分析报告
  7. Arduino实现工控上急停与复位的方法
  8. LRP-DDP耐药蛋白修饰顺铂/MDR-DDP转运蛋白修饰顺铂/COC1-DDP顺铂修饰总蛋白
  9. C语言练习题:三色球分组,编程计算三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配?请用穷举法编程求解。
  10. Scala编程初级实践-统计学生成绩