CF1217F 题解

传送门

题意

给定一个 \(n\) 个点的无向图,最初图中无边。两种操作:

  • 1 x y\(x,y\) 中有边,则删去;否则加入。
  • 2 x y 询问 \(x,y\) 是否连通。

\(x,y\) 均加密,真实的 \(x,y\)\((x+lstans-1) mod\ n+1,(y+lstans-1) mod\ n+1\)

题解

动态图连通性。但无需 \(LCT+ETT\),因为这是假加密。注意到 \(lstans\)\(0\)\(1\),则真实值只有两种情况。

\(O(n \log n)\) 的方法是线段树分治,但我看不懂。这里只说 \(O(n^{\frac{4}{3}} \log n)\) 的分块。

并查集支持撤销,但图上删边不是撤销。一种 \(O(n^2)\) 的暴力是,对于每个询问,将它前面的所有还存在的线段提出来,重新构建并查集。

受此启发,我们考虑分块,设块大小为 \(T\)。对每个块,将前面的所有还存在的线段提出来:这其中有两种,一种是此块中不可能出现的,状态一定不变;另一种是可能出现的,状态可能会变。我们对第一种先构建并查集。将第二种加入一个集合中(第一次加,第二次减,类似异或 \(1\))。

接着考虑块内的询问。用类似暴力的方法,将在块内且在此询问前的修改操作加入上面的集合中(方法同上)。此时,我们可以保证此集合大小不超过 \(T\)。于是可以在上面的并查集中加入此集合内的线段,得出答案后撤销。

分析复杂度,为 \(O(\frac{n}{T}n\log n)+O(T^2\log n)\)。当 \(T=n^{\frac{2}{3}}\) 时,为 \(O(n^{\frac{4}{3}}\log n)\)

posted @ 2022-10-13 12:05  realFish  阅读(47)  评论(0)    收藏  举报