Luogu7843 「C.E.L.U-03」布尔
题意: 有
限制形如 (
一共 -1
。
限制是
问题等价于:有一个有
将
每次询问
记
接下来只需要求
考虑如何便捷地判定图是否合法。
对于
①:维护每个联通块的点集,并启发式合并,可以做到均摊
。 这种做法由于带有均摊,只能加,不能减和撤回,难以扩展。
②:将原问题转化为:点有颜色(每个对子
颜色相同),若存在某个联通块有两个颜色相同的点,则不合法。 维护两个并查集,一个是原图的并查集,一个是颜色的并查集。加边时,若前者成功后者失败,则说明不合法。
这成功地将判定转化为了图的连通性问题。
③:由于本题的特殊性,有更方便的方法。
性质:根据(对称的)连边方式,“
连通” “ 连通”。 结论:在对
进行一次连边后,只需判定 是否连通。 证明:(只证连接
的情况,另一种类似) 假设
不连通,且此时存在新的 连通。 说明
分别与 或者 连通。 对于第一种情况,
,由引理有 。 因此有
,矛盾。
不难发现
在右侧加入一条边
在左侧删除一条边
判定是否合法
在线动态图连通性可以做,但是太麻烦,常数又大,不可取。
算法一
考虑一类奇怪的 线段树分治+双指针 的算法。
记
若已经计算完了
此时
线段树分治配合可撤回并查集,复杂度为
算法二
出题人用了一类奇怪的 决策单调性分治,即
假设我们的并查集已经含有
分为两个子问题
对于前一个子问题,需要继承的是
对于后一个子问题,需要继承的是
这其实揭示了在贡献不能删除只能撤回(回滚)时,双指针配合决策单调性分治的方法。
根据决策单调性分治的经典分析,复杂度仍然是