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值对应的数量,实时统计答案即可