zoukankan      html  css  js  c++  java
  • Vijos1655

    Portal

    Description

    两人轮流操作两堆初始数量分别为(a,b(a,bleq2^{127}))的石子。每人每次进行如下操作:

    • 取走一堆石子,并将另一堆分成两个非零堆。
      如果另一堆只剩下一个石子了,那么目前操作的人获胜。求先手是否必胜。

    Solution

    先找一波规律。将当前的人必胜的状态称为(N)-position,必败的状态称为(P)-position,则:
    (P 1 - P(0,1))
    (N 2 - N(1,1))
    (N 3 - N(1,2))
    (P 4 - N(1,3),P(2,2))
    (P 5 - N(1,4),P(2,3))
    (...)
    前面的数字(x)表示得到了一个两堆和为(x)的状态时,是必胜还是必败。如果(x)至少有一种分拆是(P),那么(x)就是(P)。因为只要存在(P),对手就可以将这个(P)-position给你从而获胜。那么在一个状态中,如果两堆石子存在(P)那么该状态是(N),否则该状态是(P)
    找到的规律就是(N)-position和(P)-position是(PNNPP)五个一循环的。下面来证明一下。

    依然是数学归纳法。
    若对于正整数(k)(forall x in [1,5k])结论成立。则
    (x,yequiv0(mod 5),x+y=5k)
    (P 5k+1 - N(x,y+1),N(x+2,y-1),P(x+3,y-2))
    (N 5k+2 - N(x,y+2),N(x+1,y+1),N(x+3,y-1))
    (N 5k+3 - N(x,y+3),N(x+1,y+2),N(x+4,y-1))
    (P 5k+4 - N(x,y+4),N(x+1,y+3),P(x+2,y+2))
    (P 5k+5 - N(x,y),N(x+1,y+4),P(x+2,y+3))
    所以对于正整数(k+1)(forall x in [1,5(k+1)])结论仍成立。
    (k=1)时结论成立(见上方),所以(forall xinmathbb{N}^*),结论成立。

    所以只要(a,b)中有一个模5余1,4,5就是先手必胜,否则后手必胜。

    Code

    不想写了

    P.S.

    hzwer的博弈论第一题就让我推了这么半天orz

  • 相关阅读:
    面向对象的三大特征
    前端基础----CSS基础概要(四)
    前端基础----CSS概要(三)
    前端基础----CSS概要(二)
    前端基础----CSS基础概要(一)
    计算机基础----常用的快捷键(一)
    前端基础------HTML概要(一)
    计算机基础---常用的应用软件
    计算机的分类
    计算机基础---硬件的组成
  • 原文地址:https://www.cnblogs.com/VisJiao/p/8564469.html
Copyright © 2011-2022 走看看