计算减少nim桩的方法以获得XOR和0

时间:2013-02-03 14:06:43

标签: algorithm math dynamic-programming counting

给定:一组n成堆的硬币(n <= 100),这样他们的XOR-sum(nim-sum) 0.每堆可以包含可以用30位表示的硬币 所需:获得0的整体XOR(nim sum) 限制:只要至少一堆保持不变,就可以从任何桩中移除石头。石头不能添加到任何堆中。
必需输出:实现此目标的方式数量,以大模数为模。

据我所知,留下一堆不变意味着剩余桩的XOR必须等于未变更桩中的硬币。我试图使用动态编程,但无处可去。一个棘手的方面似乎是,当考虑到其他一些保持不变的桩时,任何一些桩不变的局部解都可能被计算不止一次。这个 是一个比赛问题,比赛结束了。任何帮助将不胜感激。谢谢!

0 个答案:

没有答案