Codeforces Round 935 (Div. 3)
1|0A. Setting up Camp
2|0B. Fireworks
计算出每种烟花同时最多看多少个,然后相加即可。
3|0C. Left and Right Houses
可以直接枚举一下路的位置,然后后缀和处理一下。
4|0D. Seraphim the Owl
首先我们要从前个位置选择一个点作为终点,然后从起点到终点的过程中每个点可以任意选但是终点只能是。
为什么过程中可以任意选,对于每个点,如果你直接走过去就是,如果停留一下就是。
5|0E. Binary Search
我感觉是可以只通过一次操作就一定可以实现要求。
根据这个猜想,交换的一个点应该是目标数字,所以我枚举另一个点,然后进行交换,最后再模仿题目的二分进行一次 check
6|0F. Kirill and Mushrooms
强度等于,其中是我选择的个数,是选择的最小值。
如果我枚举出就可以确定那些蘑菇的值为 0,然后在剩下的蘑菇中贪心的选择最大的个,这样就可以知道
我用multiset<int>
维护两个集合,一个是cnt
表示当前不为0 且没有被选到的蘑菇,q
是当前被选到的最大的个蘑菇。
然后从小到大枚举,每次都从中取最大值填入到q
中,直到q.size() == k
。然后随着选择数量增大,就要是的一些蘑菇变为0,也就说要从两个集合中删掉一些蘑菇,每次删除时优先从cnt
中删除即可。
7|0G. Cook and Porridge
这个题目实际上要求维护一个序列,但是这个序列要实现一个插队的功能。
如果把重新入队的人单独放在一个优先队列内。然后提前维护一个的后缀最大值
如果没时刻我取出队列的第一个和优先队列中的第一个。然后比较一下后缀最值和优先队列队首权值的大小,如果后缀最值更大说明不会插队到当前的人前面,则队首出队,否则优先队列出队。
__EOF__

本文作者:PHarr
本文链接:https://www.cnblogs.com/PHarr/p/18088311.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
本文链接:https://www.cnblogs.com/PHarr/p/18088311.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-03-21 SMU Spring 2023 Trial Contest Round 1