问题描述

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

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

样例输入

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

样例输出

3
3

这道题是真的老六,我真的服了它了。

下面给出正确代码及一些感悟。

首先,之前看CSDN的时候,有个大佬说的好,这道题:

70分代码的思路我们是站在人的角度处理问题,即按照他的思路(即题目要求)一步一步处理问题,优先解决人的需求;
100分代码思路中,我们优先处理场所需求,即判断出进入该场所需要的最早时间核酸报告(left)
和最晚时间核酸报告(right)后考虑人的需求,即人在left~right这个时间范围内进入场所都是符合要求的,可将问题转化为对区间的处理:核酸检测的时间t+等待核酸检测的时间k所在的点有多少个满足条件的场所

也就是说,转换视角是十分重要的,而这一点是比较好想的。

这道题老六在哪里呢。

数据的范围!

这里要注意,是没有qm<tn的条件的,

换句话说,有可能我查询的是所有出行都结束之后毫无意义的时间

哪怕这种情况毫无意义,但你必须考虑到,否则就是错误!

而这个(qn+tn)能大到多少呢,3*10^5。

考虑到了嘛?

无语了。

下面给出代码(人比较菜,用了最容易理解的方法,没用差分数组)

70分代码,很简洁

#include<bits/stdc++.h>
using namespace std;
int main()
{int n,m,k;cin>>n>>m>>k;int t[n],c[n];for (int i=0;i<n;i++){cin>>t[i]>>c[i];} for (int i=0;i<m;i++){int now;int count=0;cin>>now;for (int j=0;j<n;j++)if ((t[j]-c[j]+1<=now+k) && now+k<=t[j]) count++;cout<<count<<endl;}return 0;
}

100分代码

#include<bits/stdc++.h>
using namespace std;
int main()
{int n,m,k;cin>>n>>m>>k;int t[n],c[n];int maxt=0; for (int i=0;i<n;i++){cin>>t[i]>>c[i];maxt=max(t[i],maxt);} const int maxnum=300000;//测试数据中有qm>tm的数据(qm范围到200000,写到200000可得70分) //还需要考虑到qm+k有可能最大到达300000,写到300000可得100分 int count[maxnum+1];for (int i=0;i<=maxnum;i++) count[i]=0;for (int i=0;i<n;i++){for (int j=max(0,t[i]-c[i]+1);j<=t[i];j++) count[j]++;}
//  for (int i=0;i<=maxt;i++) cout<<count[i]<<" ";
//  cout<<endl;for (int i=0;i<m;i++){int temp;cin>>temp;cout<<count[temp+k]<<endl;}return 0;
}

CCF-202203相关推荐

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

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

  2. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  3. ccf Markdown

    说实话,这种题如果给我返回结果我是一定可以写出来的但是ccf不返回结果很烦,这种题我根本不能一次写对.还有重写时发现好多考试之前根本没注意到的点比如删掉空行 .......=_= #include&l ...

  4. I'm stuck! ccf模拟题。

    ccf模拟题. I'm stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S' ...

  5. 计算机协会成立活动简报,“中国计算机学会CCF走进高校”活动在我校举行

    校新闻中心讯 9月13日下午,由中国计算机学会(CCF)主办的"CCF走进河南科技大学"活动在工科二号楼610举行.副校长魏世忠教授出席活动并致辞.长江学者.国家杰出青年基金获得者 ...

  6. 绿盟科技与CCF成立“鲲鹏”科研基金 计划发力5大领域资助16个项目

    [51CTO.com原创稿件]2017年5月10日,由中国计算机学会(CCF)和北京神州绿盟信息安全科技股份有限公司(以下简称:绿盟科技)主办的2017 CCF-绿盟科技"鲲鹏"科 ...

  7. WC2018 CCF程序设计教学比赛记事

    WC2018   d5 教师比赛日  亦或者称之为以"递归"为主题的同课异构课程(25节课 有8节讲递归) 发现强省或者弱省中名校派出的选手还是非常优秀的,这种优秀,从他的教态.自 ...

  8. 徐韬:CCF - 个贷违约预测Baseline

    徐韬是华北电力大学数理系大四的学生,Datawhale成员/Dreamtech成员,参加了多期Datawhale的组队学习,也在天池/CCF/讯飞等比赛中取得了不错的成绩,现保送大连理工大学软件学院深 ...

  9. 赴约北大,2019 CCF大数据与计算智能大赛正式启动

    8月17日,以"数据驱动,智创未来"为主题的2019 CCF大数据与计算智能大赛(2019 CCF BDCI)全球启动仪式,在北京大学英杰交流中心·阳光厅正式启幕.自2013年创办 ...

  10. CCF推荐系统项目代码解读!

    Datawhale干货 作者:阿水,北京航空航天大学,Datawhale成员 本文以CCF大数据与计算智能大赛(CCF BDCI)图书推荐系统竞赛为实践背景,使用Paddle构建用户与图书的打分模型, ...

最新文章

  1. HTML的标签描述1
  2. matlab 图像中用text文字标注
  3. 判断iis是否已经安装
  4. python代码画简单图-Python figure参数及subplot子图绘制代码
  5. 计算二叉排序树的平均查找长度
  6. HDOJ 2009 求数列的和
  7. c语言寻找James,[semi-tutorial]某亚里亚写在JamesM边上的OS笔记
  8. java学习笔记14--多线程编程基础1
  9. Python计算机视觉:第九章 图像分割
  10. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
  11. React 18 Beta 来了
  12. 三、Numpy数组操作
  13. tensorflow学习笔记1
  14. 计算机网络实验传输文件,湖大计算机网络实验-tcp文件传输实验
  15. java jsfl是什么_java基础之IO2
  16. 使用bcp进行大数据量导出导入
  17. Eclipse Photon即将发布
  18. 保活 进程唤醒_Android 8.0以上系统应用如何保活
  19. 数据库SQL(基础代码)
  20. 深入理解SD卡基础原理以及内部结构的总结

热门文章

  1. unity如何播放8K视频?
  2. 自定义prometheus exporter实现监控阿里云RDS
  3. 利用iperf工具测试IPv6网络
  4. safari打不开cookies_safari cookie设置中文失败的解决方法
  5. Angular5学习笔记 - 创建服务
  6. linux ip获取mac,linux 获取本机MAC/IP地址的方法
  7. 使用python分析餐饮选址(参考肯德基选址)
  8. matlab样条插值拟合,科学网—样条函数插值拟合 - 李继存的博文
  9. android ui布局设计,android 界面设计规范汇总
  10. HDU 4070 Phage War