连通块数 === 点数 −-− 边数。对于一个询问,剩余点数显然为 n−(r−l+1)n-(r-l+1)n−(r−l+1),而难点在于边数。对于剩下来的边 (u,v) (u<v)(u,v)\ (u<v)(u,v) (u<v),只会满足下列三个之一:
对于前两种区间和 [l,r][l,r][l,r] 是完全分离的,这个直接记录前后缀即可。
对于第三种,离线询问,使用 BIT 记录端点即可。时间复杂度 O((n+q)logn)O((n+q)\log n)O((n+q)logn)。
注册一个 CZOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 CZOJ 通用账户