T2:
20200310模拟赛(博弈论翻棋子模型)
博弈论翻棋子模型:
这个翻棋子模型都有两条可以互相循环论证的性质:
20200310模拟赛(博弈论翻棋子模型)
性质1:我们可以把有多个白色节点的游戏,分成多个只有单个白色节点的游戏SG之和。
性质2:我们翻转xx的颜色时可以相当于新加了一个只有xx为白色的所谓单位游戏。
这两条可以互相论证,数学归纳互相证明。

对于只有(x,y)(x,y)为白色的游戏,其SGSG值为lowbit(max(x,y))lowbit(max(x,y))(很好打表找的结论(其实max(x,y)max(x,y)就是把这个到根的路径抽出来,一维就很好找规律了))。
20200310模拟赛(博弈论翻棋子模型)
因为这个题是n1e5,m1e9n\leq1e5,m\leq1e9
所以可以直接对着nn这一维扫过去对于mm这一维用奇怪的方法求lowbitlowbit区间异或和。
但是这就没有意义了。
因为i=1nlowbit(i)=n(n>>1)\bigoplus_{i=1}^n lowbit(i) = n \oplus (n>>1)

T3:
20200310模拟赛(博弈论翻棋子模型)
树形DPDP方案的同时求逆序对数。
20200310模拟赛(博弈论翻棋子模型)

可以用BFSBFS写树形DPDP,换一层就重复利用数组,就是O(n2)O(n^2)的空间。

或者对于(x,y)(x,y)的点对我们求他们产生逆序对的方案数。
在他们到lcalca的路径上DPDP即可。
O(n2h2)O(n^2h^2)
可以优化到O(n3)O(n^3)
再社畜一点可以O(n2)O(n^2)

相关文章: