实际上就是查询 $u$ 到 $v$ 路径上 边双的个数 $ -1$。

并且题目仅有删边, 那么就离线倒序添边。

维护 边双 略有不同: 

首先需要一个并查集, 记录 边双内的点。 在 添加边$(u,v)$时 , 若$u, v$ 已经相连, 那么把 $u, v$ 路径上的点 缩成一个点, 用最上面的点 来代替。

1 void del(int x, int y) {
2         if (!x) return;
3         fa[x] = y;
4         del(lc(x), y);
5         del(rc(x), y);
6     }
压缩点

相关文章:

  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2021-08-26
  • 2022-12-23
  • 2021-08-29
  • 2021-06-25
猜你喜欢
  • 2022-12-23
  • 2022-02-21
  • 2021-10-02
  • 2021-07-27
  • 2021-07-18
  • 2021-06-25
  • 2021-12-25
相关资源
相似解决方案