学习了一下二分图博弈

什么是二分图博弈
就是你可以把问题转化为
给你一个二分图
每一次可以从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) 

Posted on 2021-03-29 20:15  ynx  阅读(113)  评论(0)    收藏  举报