zju2833Friendship(带压缩路径的并查集)
本题可用标准并查集解,但是因为数量huge,决定采用带压缩路径的并查集,忽然发现scanf和printf是要比cin和cout好得多,多次TLE之后得出的结论。
HDOJ1272小希的迷宫(并查集)
这里提到一点是”小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)“,这可以通过判断输入的二点是否在同一集合中实现,如果输入二点在同一集合中,说明有回路,也就不满足条件。第二是判断所有点是否在同一集合中,这可以通过并查集简单实现。
HDOJ1232畅通工程(纯正的并查集)
有n个相互不连通的集合(相互连通的城市归为一个集合),就需要构建n-1条新道路。此题为典型的并查集。用第一种并查集实现。
HDOJ1811Rank of Tetris(并查集+拓扑排序)
首先,因为会出现二个数相等情况,需要通过并查集合并为一个集合。如果不能进行拓扑排序将会出现“CONFLICT”这种情况,这也就等价为根本找不到入度为0的节点,或者为遍历完所有节点就出现找不到入度为0的节点了。还有就是一次找到多于1个的入度为0的节点,这就会出现“UNCERTAIN”这种情况了。对这二种情况分别考虑就可以了。