ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

csp202203-2【暂时空缺】题解

2022-03-20 19:02:56  阅读:232  来源: 互联网

标签:ci 题目 csp202203 数轴 题解 核酸 空缺 ti 区间


思路

已知在 t t t时刻完成核酸检测,等待核算报告需要 k k k天,某场所核算报告有效期为 c c c天,则在 [ t + k , t + k + c ) [t+k,t+k+c) [t+k,t+k+c)天之间去这个场所是可以的。
题目一开始给了等待核酸检测出报告的时间 k k k天,接下来给了很多对 ( t i , c i ) (t_{i},c_{i}) (ti​,ci​)( t t t表示某人去这个地方的时间, c c c表示这个地方承认的核酸检测天数)
再给出许多询问,每次询问是给定一个正数 q ( q > 0 ) q(q>0) q(q>0), q q q的意义是做核酸的时间。
则可以得到如下方程:
q + k ≤ t < q + k + c q+k≤t<q+k+c q+k≤t<q+k+c
q + k ≤ t ≤ q + k + c − 1 q+k≤t≤q+k+c-1 q+k≤t≤q+k+c−1
则 q q q的范围是: t + 1 − k − c ≤ q ≤ t − k t+1-k-c≤q≤t-k t+1−k−c≤q≤t−k

题目给了 n n n组 ( t i , c i ) (t_{i},c_{i}) (ti​,ci​),相应的就有 n n n个区间 [ t + 1 − k − c , t − k ] [t+1-k-c,t-k] [t+1−k−c,t−k]
对于每个 q q q,要计算落在这 n n n个区间内的哪几个区间?
进一步可以转换为对于一个实数 q q q,它落在这 n n n个区间的哪几个中?
我们可以想象一个数轴,数轴上的每个点处的数是 0 0 0,只要被一个区间覆盖,覆盖到的地方就全部 + 1 +1 +1,这样处理这 n n n个区间,我们就得到了这n个区间在数轴上的叠加覆盖,数轴上的数是几,那它就在几个区间内。

特殊边界处理:

  • 对一个区间来说,如果它的上界 ≤ 0 ≤0 ≤0,是没有意义的,要跳过处理。
  • 对一个区间来说,如果它的下界小于1,也没有意义,因为q是整数,题目交代了>0,所以最小值为1,因此在处理区间的时候,下界最小不能小于1

代码

等有题目了再奉上,请谅解

标签:ci,题目,csp202203,数轴,题解,核酸,空缺,ti,区间
来源: https://blog.csdn.net/weixin_45798993/article/details/123618173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有