NOI2016区间(线段树)

首先离散化然后对于每个区间按长度排序

然后考虑我们枚举l,可以发现r是单调不降的则可以使用双指针(时间复杂度:O(n) )

怎么判断一个方案是否合法?用线段树维护一段区间上的每个点被覆盖了多少次以及覆盖次数最大值。

为什么这样可以保证答案的准确性?

因为显然是取一段长度连续的区间更优

总复杂度:每个元素至多被两个指针各扫一次,每次扫到都要调用一次线段树上的操作,所以复杂度O(nlog2n)O(nlog_{2}n)O(nlog2n)

 

posted @ 2019-11-07 21:09  白rap  阅读(113)  评论(0编辑  收藏  举报