*BZOJ3514: Codechef MARCH14 GERALD07加强版

n,m<=200000的图给q个询问,每次问只保留编号[L,R]的边的联通块数。

图上保留连续边的常见套路---处理出数组$S_i$,表示从$i$开始往前依次加入边,加到谁时$i$处在一个环上。一个询问就是查[L,R]中$S_i<L$的数量,用n减之。

查这东西随便搞搞,离线的话按L排序用树状数组,在线的话用主席树。问题就是$S$数组怎么求。

其实用LCT模拟一遍就行了。。加一条边如果两端在同棵树上,就删掉树上两端点之间最早加的一条边。

代码?还没写。

posted @ 2018-01-17 20:19  Blue233333  阅读(112)  评论(0编辑  收藏  举报