Description
有一个\(n\)个点\(m\)条边的简单无向联通图,\(q\)组询问。每组询问给定一个\(k\),再给\(k\)条边,输出假设这\(k\)条边不存在,那么图是否联通(询问互相独立)。并且强制在线。
\(n\leq 10^5, m\leq 5\times 10^5, q\leq 5\times 10^4, k\leq 15\)。
Solution
好像做了整整五个月罢……真的事大脑满级人罢,,,
考虑构造随便构造一个DFS树,然后给所有非树边随出来一个权值,树边的权值定义为覆盖它的所有非树边权的异或和。然后我们发现如果给定\(k\)条边可以凑出来一个子集使得其异或和为\(0\),那么就事不联通的。
至于如何判断是否有异或和为\(0\)的子集。注意到如果把二进制数搞成一个向量,那么这个条件等价于这些向量线性相关。线性相关的话就等价于线性基数小于总数,所以用线性基判一下。
Code
1 |
|