[Mivik Round / 梦境彼岸] [题解] 声海 Sea of Voices
Subtask 1
因为元素都是非负的,我们直接输出最小的两个数即可。
Subtask 2
(真的有人需要吗?)
Subtask 3
(我想了一下,不是很会)
Subtask 4
我们考虑,是什么让我们最小的第三个数不一定是原来的第三个数?是
这个维护可重数集的插入删除最小值直觉是用 multiset,但想想常数过大应该过不去。于是我们把原来的数集先排好序,然后用一个优先队列从小到大维护删除了的数,每次取数集最小值的时候检查一下就好了。时间复杂度是
ametus.h / code