[BZOJ1116][Poi2008]LCO(并查集)
题目:http://hzwer.com/3010.html
分析:注意这里无向边是对入度没有贡献的。
那么对于一个n个点的连通块而言,如果它是一颗树(n-1条边),那么把所有边全部从某个根开始向下指,最后还剩下根节点的入度是0,所以这种情况肯定是不行的。那么如果再加一条边,即这个连通块中有一个环,那么就完全可以把这个环的某个点作为根节点,并且这个根节点的入度也可以是1了。
所以综上,答案是TAK当且仅当图中的每个连通块里都有环
至于如何判断每个连通块中是否有环,可以用并查集啦。
对于一条边(x,y)
如果find(x)==find(y),则x所在的连通块有环
如果find(x)!=find(y),则合并两个连通块,且如果其中某个连通块有环则新的连通块也有环啦