$dp$ 计数.
记 $p(i)=\prod_{j=2^n-i}^{2^n-1} j$ ,即不考虑胜负情况的所有合法方案.
记 $f(i)=p(i)-W(i)$ ,即先手必败的状态数,考虑如何求出 $f(i)$ .
让前 $i-1$ 个数随便选,共有 $p(i-1)$ 种情况,最后一个数通过恰当的选法使得所有数的异或和为 $0$ .
考虑将不合法的情况减掉,由于不能选 $0$ ,所以前 $i-1$ 个数异或和为 $0$ 时,就不合法.
由于不能选相同的元素,所以当前 $i-1$ 个数中,有 $i-2$ 个数异或和为 $0$ 时,剩下一个数怎么选都不合法.
剩下的这个数有 $i-1$ 个的可能的位置,由于前面的数没有重复,所以每个位置有 $2^n-i+1$ 个可能的值.
将这两种情况减掉,得到
$$
f(i)=p(i-1)-f(i-1)-(i-1)\cdot (2^n-i+1) \cdot f(i-2)
$$
边界有 $f(1)=f(2)=0$ .
1 | //%std |