分析 阶梯NIM模型:共有m+1堆石子,石子总数不超过n-m,求必胜的,即奇数堆石子数目异或和非零的局面数.补集转化,答案C(n,m)-奇数堆石子数目异或和位0的局面数. 可以想到按位dp,设f[i,j]表示已经考虑了前i位(异或和0),石子和为j的方案数:转移时考虑下一位出现的被统计1的个数k,k为偶数,带系数C((m+1)/2,k),即m+1/2个奇数堆中出现k个1的方案. 最后将没有分配的n-m-i个石子放入m/2个偶数堆中,可以一个都不放. 实现 #include <bits/stdc+…