线段树维护区间信息.
利用线段树维护每个区间的答案.
合并两个区间时,把连接处的两条横边都连上,会和两边的竖边形成一个矩形的环,再把这个环的最大边断掉.
对于一个区间,需要维护它的答案,这棵生成树的最左/右的竖边,竖边内横边的最大值,所有横边的最大值.
合并时大力讨论删掉的是哪条边,把参数转移一下,时间复杂度 $O(n\log n)$ .
1 | //%std |
夢はここに 思い出は遠くに
线段树维护区间信息.
利用线段树维护每个区间的答案.
合并两个区间时,把连接处的两条横边都连上,会和两边的竖边形成一个矩形的环,再把这个环的最大边断掉.
对于一个区间,需要维护它的答案,这棵生成树的最左/右的竖边,竖边内横边的最大值,所有横边的最大值.
合并时大力讨论删掉的是哪条边,把参数转移一下,时间复杂度 $O(n\log n)$ .
1 | //%std |