当前位置: 首页 > news >正文

题解:CF913D Too Easy Problems

首先,显然不得分的题目不做,因为这样不仅增加时间,还可能导致一些原来符合限制的题目不符合限制,不能使答案更优。

于是,我们发现最终的答案 \(ans\) 不会超过所选题目中最小的 \(t_i\),所以我们选题时应该尽量选 \(t_i\) 较大的题目。考虑将所有题目按 \(t_i\) 从大到小排序,依次遍历每个题目,存在以下三种情况:

  1. 当前题目可以直接加入已选题目中,不会超出时间限制。这种情况直接加入即可,可以使答案增加 \(1\)

  2. 当前题目加入已选题目后会超出时间限制,但是当前题目所需时间小于已选题目中所需时间最大的题目。这种情况下应该使用当前题目替换掉耗时最大的题目,这样虽然答案不变,但总时间变小了,可以为后面的题目腾出时间。

  3. 当前题目加入已选题目后会超出时间限制,且当前题目所需时间不小于已选题目中所需时间最大的题目。这种情况直接忽略即可。

已选的题目可以通过优先队列维护。记已选题目的数量为 \(cnt\),显然当 \(cnt \ge t_i\) 时,答案不可能继续增加,此时直接退出循环即可。

最后优先队列里剩下的题目即为选题的方案。时间复杂度 \(O(n \log n)\)

代码

http://www.jsqmd.com/news/29394/

相关文章:

  • 题解:CF875C National Property
  • 题解:CF1037E Trips
  • lecms在使用redis中设置他缓存时间
  • 题解:CF387E George and Cards
  • 博客一年纪
  • 题解:AT_abc307_f [ABC307F] Virus 2
  • 题解:CF291E Tree-String Problem
  • java操作sip
  • CH59X/CH58X蓝牙主机设置白名单
  • 题解:CF712D Memory and Scores
  • 思维的断章,觉知的永恒:一个基于“内观照叙事模型”的认知革命与跨学科范式重构
  • 拾壹月贰
  • struct page
  • NFS 服务端/客户端配置
  • CSP-S2025 题目解析
  • [Record] CSP-S 2025 邮寄
  • 2025 CSP-S 游记
  • [题解]CSP-S 2025 T1~T3 题解
  • 关于git关联github问题
  • AT ABC285E Work or Rest 题解
  • 代码复杂度的代价远比你想象得大
  • CSP2025 - S 年度总结大会报告
  • minio 服务端加密方式
  • 25CSP退役游记(11.1更新)
  • 第二章实践作业
  • (补11月)代码大全阅读笔记2
  • java 基础语法一
  • VisualStudio 2022如何打开.slnx文件格式的解决方案
  • (补11月)代码大全阅读笔记3
  • CSP2025 - S 游记