只有在深入的去思考一些东西的时候才能有所收获,加油!
在开始看到这道题目的时候没有想到这是一道二分图的题目,当时听完老师讲的感觉恍然大悟,但是过了两个月之后在看这道题目的时候,虽然知道这是二分图的题目,但是推理的过程已经记不清了,还是写一下吧。
问: 这道题目为什么可以看成是二分图?
可以利用二染色法,首先我们对每个格子隔着一个染一个色:
就像这样,我们发现白色的格子和白色的格子不存在边,绿色的格子和绿色的格子不存在边,这个就是一个二分图, 而题目中要求覆盖点不可以重复,那就直接可以匈牙利算法解决。
问:匈牙利算法中的 v i s vis vis数组的作用:
有两个作用,一个是记录搜索的路径,这个作用可以保证结果的正确性。另一种是防止重复搜索,这个作用则是可以降低时间复杂度。
问:二分图可以用地带权并查集来判断吗?
是可以的。请见例题关押罪犯
什么是二分图? 可以是不存在奇数环(指的是环中点的数量),或者是染色法无矛盾,或者是无增广路径。我们发现奇数环是可以在模2 的条件下实现,带权并查集正好可以实现。