zoukankan      html  css  js  c++  java
  • 洛谷P1290欧几里德的游戏——题解

    题目传送

    题面:

     题解:

    首先当一个数是另一个数的整数倍时,当前的人显然是必胜的。
    设当前的两个数为i,j,且i>j,有两种情况:

    当i>=2j时,当前的人必胜,下面是证明:

      假定i=kj+l其中l = i % j,k = i / j,根据假设,k>=2,此时讨论是否必胜状态d(j,l)的可能情况:

      若d(j,l)为必胜状态(即当时的操作者有必胜策略(不管对方怎么走,自己都有应对方法来保证自己赢)),则当前操作者可以转移到d(j+l,j)。此时,轮到对手操作。因为必须要取正整数堆较小的,所以只能转移到d(j+l-j,j)即d(j,l)这个必胜状态上。那么,当前的操作者胜利。

      若d(j,l)为必败状态,其实是类似的,可以直接转移从d(i,j)至d(j,l),把必败状态留给后手。得证!

    当j<i<2j时,此时下一个状态必是d(i-j,j),递归计算就好

  • 相关阅读:
    北科的秋天
    最大子段和问题(dp)
    cmd应用
    问题 H: 抽奖活动(大数)
    大数算法
    模板整理(三)
    在CMD中建立一个不能删除的文件
    波利亚(Polya)罐子模型
    51nod-迷宫问题(Dijkstra算法)
    优先队列
  • 原文地址:https://www.cnblogs.com/InductiveSorting-QYF/p/12913666.html
Copyright © 2011-2022 走看看