CF1710E Two Arrays
首先二分答案
则这个问题等价于一开始在一个
-
二分图博弈,每次走到相邻的一个点并删除上个点,走不了的人输,先手获胜的充要条件是:二分图的所有最大匹配都包含起始点。
- 充分性:由于起始点在所有最大匹配都出现,所以不存在一条从起始点的增广路,使得可以走匹配-非匹配边最后走到一个非匹配点(否则可以把起始点扔掉换成这个点),那么先手就一直走匹配边即可。
- 必要性:假设存在一个不包含起始点的最大匹配,在先手走完第一步后后手可以一直沿着匹配边走,而先手不可能走到一个非匹配点(否则最大匹配 +1),所以先手肯定会输。
那么只需要求出这个二分图的最大匹配,删掉起始点再求一次看看是否相等即可,而复制了
所以只需求出原图最大匹配,可以将
对于删掉起始点
复杂度