CF GR 随机做
Global#14
E [Coded]
可以连续段 DP,或者 GF 做法可以通过求导导出非常简洁的 \(O(n^2)\) 做法。
I [To code]
倍增分块。考虑 \(c \in [2^k, 2^{k+1})\)。
我们先来考虑是否能取一个 \(\ge 2^k\) 的数,那我们知道如果取了,其前方所有 \(< 2^k\) 的也都要取。并且必然是取到第一个这样的物品,线段树二分即可。显然会使得 \(k\gets k-1\)。
否则,尽量取,同样线段树二分,最后也会使得 \(k\gets k-1\)。