[Wc]Dface双面棋盘()

Posted yinwuxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Wc]Dface双面棋盘()相关的知识,希望对你有一定的参考价值。

题解:

一道维护奇怪信息的线段树。。。

我刚开始看了标签想的是删去图上一个点后求连通性

发现不会

于是退化成一般图支持删除 插入 维护连通性

发现有2两种做法

1.lct维护

按照结束顺序先后排序,给每条边一个权值

然后我们只要维护最大生成树就好了,因为这样可以保证删除当前树上的边是不会被权值更小的边替换的

而由于最大生成树的性质,是不可能能替换成更大的边的

so这说明删除它之后就不需要连边了

nlogn但是常数大吧

2.线段树分治

这个应该很明显吧,变成只有插入的并查集问题

nlognlogn 常数小

 

然后由于这个牵扯出loj122这题 维护动态图连通性

并没有看懂网上的唯一一篇题解于是弃疗

正解:

线段树上的每个叶子节点表示一行

每个节点维护当前范围内的黑白区间个数

合并的时候就用并查集启发式合并就可以

每次合并是o(n)的

每次修改进行log次

所以复杂度应该是O(nmlogn)

相比上面两种都不优吧 但是常数小了至少8倍  因为这个是单点修改上面的要修改8条边

明天补吧

以上是关于[Wc]Dface双面棋盘()的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ1453[Wc]Dface双面棋盘 线段树+并查集

BZOJ1453: [Wc]Dface双面棋盘

bzoj1453: [Wc]Dface双面棋盘

[Wc]Dface双面棋盘()

1453: [Wc]Dface双面棋盘 (线段树+并茶几)

题解Luogu P4121 [WC2005]双面棋盘