@2368860385
2020-11-07T03:01:21.000000Z
字数 454
阅读 189
衢州
博弈:打表
直接先手必胜
问先手有没有必胜
奇数堆石子xor
空隙看石子。
a3-=x, a4+=x
阶梯博弈。
sg 异或。
所有(子树的sg+1)两两异或。
每种个数都出现偶数相同次->先手必败。
11223388
奇数个堆:用最大的取补两两直间的差,然后扔掉。
偶数个堆:先和最小的一样多,然后用剩下的补两两之间的差。
f[i][j][k]:
a[1...i]
xor = j
% d = k
优化:
(最短路树的做法)
拓扑序求出来
然后是一段区间 1......n
最短路是在区间上跳的,处理dS[i] 为1->i的最短路,处理dT[i]为i->n的最短路。
去掉点x,那么,所有覆盖x的边可以连接成一个新的最短路。比如u->v,边权为w,可以覆盖x,那么用u,v覆盖的最值是dS[u]+w+dT[v]。
可以枚举边,u->v,边权为w,用dS[u]+w+dT[v]取更新u+1,v-1的点。线段树维护最小值。
bzoj故乡的梦