题解:P7329 「MCOI-07」Dream and More Discs
题意:很简单了,不再赘述。
做法:
Sub 1:
是人都会。
Sub 2,3:
我们考虑直接二分值域 \(V\),然后在每一个类中去二分出有多少个 \(\le x\) 的数去判断即可,询问次数 \(O(nm\log V)\),可以通过 Sub 2,3。
sub 4,5,6:
实在胡不出来部分分了,贴一个满分上来。
考虑我们其实并没有必要每次重新二分,而是可以并行地一起二分。
我们考虑对于现在所有的区间去询问 \(mid\) 的值大小,当我们现在 \(\sum mid > k\) 的时候,我们就让 \(mid\) 值最大的 \(r=mid\),因为他一定不可能选得更大;否则我们就让最小的 \(l=mid\)。
显然操作次数 \(O(nm)\)。
提一嘴,实现上记得开 long long,左闭右闭好写程度 >>> 左闭右开。

浙公网安备 33010602011771号