【问题标题】:Topcoder SRM 624 DIV II Level 3Topcoder SRM 624 DIV II 3 级
【发布时间】:2014-06-17 16:34:04
【问题描述】:

谁能解释一下这个问题的解决方法,你可以在这里查看问题: http://community.topcoder.com/stat?c=problem_statement&pm=13204 以及这里的解决方案: http://apps.topcoder.com/wiki/display/tc/SRM+624

我实际上不明白如何计算 nimbers 和选择最小排除序数导致了解决方案。

【问题讨论】:

  • 您链接的解决方案需要登录 TopCoder。始终最好在帖子本身中添加尽可能多的上下文。

标签: algorithm


【解决方案1】:

我在这个问题上苦苦挣扎,在 SRM 结束后我尝试自己解决,但找不到解决方案,所以我决定阅读社论。

问题中的游戏是一个使用正常游戏规则的公平游戏,因此基于 Sprague-Grundy 定理,它相当于 Nim 游戏,其中每个状态都可以用一个 nimber 来表示。

Nim 博弈已经解决,甚至由多个单独的 Nim 堆组成的组合 Nim 博弈也已解决,因此有一种方法可以找出在此类博弈中哪些玩家具有获胜策略。这是使用代表游戏状态的数字来确定的。如果无法从当前位置移动,则该位置的 nimber 为 0。否则,根据 Sprague-Grundy 定理,该位置的 nimber 是未出现在 nimber 集合中的最小非负整数可以从当前位置一步到达。

这篇论文对我理解柔度理论有很大帮助:http://web.mit.edu/sp.268/www/nim.pdf。至于 Sprague-Grundy 定理的证明,我发现one from Wikipedia 更容易理解。

【讨论】:

  • 该 pdf 对理解有关 nim 的概念非常有帮助。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多