P8026 [ONTAK2015] Bajtocja

P8026 [ONTAK2015] Bajtocja

题目描述

给定 d 张无向图,每张图都有 n 个点。一开始,在任何一张图中都没有任何边。接下来有 m 次操作,每次操作会给出 a,b,k,意为在第 k 张图中的点 a 和点 b 之间添加一条无向边。你需要在每次操作之后输出有序数对 (a,b) 的个数,使得 1≤a,b≤n,且 a 点和 b 点在 d 张图中都连通。

题解

考虑再每个图中用类似并查集的东西维护连通块(简称vector),然后发现不好统计答案

然后就想到两点在d张图中都为同个连通块中既有贡献,所以考虑以连通块标号进行hash(这里比较奇怪,hash系数取随机数才过)

然后用map维护hash值对应的数量,实时统计答案即可

posted @ 2024-02-22 20:50  zhy_learn  阅读(8)  评论(0编辑  收藏  举报