2020.11.5

给定若干个区间\([l,r](1<=l,r<=n)\)
每次给定一个\(x\),要求支持查询包含\(x\)的区间,并删除。
这里有一个\(O(nlogn)\)的做法。建\(n\)个vector,对于一个\([l,r]\),在\(l\)处的vector中加入\(r\)
对于每个\(x\),查询\(1..x\)中的各个vector的最大值,其中大于等于\(x\)的删除。可以先对所有vector排序,然后可以用线段树维护。发现每个区间只会删除一次,每次删除\(O(logn)\)

posted @ 2020-11-05 20:02  chenyilei  阅读(48)  评论(0编辑  收藏  举报