【luogu P2827 蚯蚓】 题解

题目链接:https://www.luogu.org/problemnew/show/P2827

35分:暴力sortO(mnlogn)。

80分:考虑到每次不好维护不被切的点+q,正难则反。改成维护被切的点-q,再维护一个q*m,跑大根堆O(mlogn)。

100分:考虑到先切的点一定比后切的点分出来的大。

若切两个点a,b。a > b,a切成a1 > a2,T秒后,切b,b1 > b2
此时a1 = Tq + pa,a2 = Tq + (1-p)a,
b1 = pTq + pb,b2 = (1-p)Tq + (1-p)b

∵0< p < 1,a > b 得证

所以本来序列带有单调性,我们只需要维护三个队列每次取max就行了。

写完注意常数。

所以我还是去写80分的吧。

原文地址:https://www.cnblogs.com/MisakaAzusa/p/9875391.html