学习了一下二分图博弈
什么是二分图博弈
就是你可以把问题转化为
给你一个二分图
每一次可以从X部的点走到Y部的点
一开始的人在X
如果不能走就输了
问你是否有必胜策略
怎么做
先跑一个完美匹配,得到一个匹配方案
我们考虑一下
如果先手所在的点,不属于这个匹配方案
那么x随便走一下,比如说走到了y
那么y肯定属于匹配方案,否则就找到一个新的匹配了,显然是矛盾的
然后后手只要一直走匹配边就可以了
最后肯定不会停在Y部的,否则就相当于找到增广路了
否则的话,我们把x删掉
再跑一次完美匹配
如果匹配数不变,那么说明,这个点存在于所有匹配方案里面
那么先手就是必胜的(正确性显然,不写了),否则就变回了上面的情况
————————————————
原文链接:https://blog.csdn.net/qq_36797743/article/details/80043107
//例题 :【雅礼集训 2017 Day2】棋盘游戏
加强版:NOI2011兔兔与蛋蛋游戏
顺便写了一下fwt
总结一下
或卷积正变换是 f[j]=f[j]+f[j^v] 逆变换是f[j]=f[j]-f[j^v]
与卷积正变换是f[j^v]=f[j^v]+f[j],逆变换是f[j^v]=f[j^v]-f[j]
异或卷积正变换是 f[j^v]=f[j]+f[j^v],f[j]=f[j^v]-f[j],逆变换同理,但是结果要除以卷积长度大小
当我们要快速求卷积的n次时,
考虑 之前的变换 c[i]=a[i]*b[i] ,再对c进行逆变换;
所以只需要改成 c[i]=qpow(a[i],n) (这里视为a=b)
 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号