zoukankan      html  css  js  c++  java
  • 博弈模板

     1 ///博弈模板
     2 一)巴什博弈(Bash Game):
     3 问题描述:
     4 只有一堆n个物品,两个人轮流从这
     5 堆物品中取物,规定每次至少取一
     6 个,最多取m个。最后取光者得胜
     7 问题解答:
     8 很容易想到当n%(m+1)<>0时,先取必胜,
     9 第一次先拿走n%(m+1),以后每个回合到
    10 保持两人拿走的物品总和为m+1即可
    11 
    12 二)威佐夫博弈(Wythoff Game):
    13 问题描述:
    14 有两堆各若干个物品,两个人轮流从某
    15 一堆或同时从两堆中取同样多的物品,
    16 规定每次至少取一个,多者不限,最
    17 后取光者得胜。
    18 问题解答:
    19 奇异局势:第一个人必输的局
    20 那么任给一个局势(a,b),怎
    21 样判断它是不是奇异局势呢?我
    22 们有如下公式:
    23 ak =[k(1+√5)/2],
    24 bk= ak + k  。
    25 主要代码:
    26 const double p=(1+sqrt(5.0))/2;
    27 if (a>b) swap(a,b);
    28 int k=b-a;
    29 if (a==(int)(p*k))
    30 {
    31     printf("2
    ");
    32 }
    33 else printf("1
    ");
    34 
    35 三)Nim游戏  :
    36 问题描述:
    37 有三堆各若干个物品,两个人轮流
    38 从某一堆取任意多的物品,规定每
    39 次至少取一个,多者不限,最后取
    40 光者得胜
    41 问题解答:
    42 奇异局势:a[0]^a[1].....^a[n-1]=0.
  • 相关阅读:
    BZOJ3771 Triple
    BZOJ3451 Normal
    Luogu6271 [湖北省队互测2014]一个人的数论
    BZOJ3309 DZY loves Maths
    Luogu1829 JZPTAB
    Luogu3704 SDOI2017数字表格
    Luogu3312 SDOI2014数表
    【学习笔记】莫比乌斯反演
    Luogu4762 [CERC2014]Virus synthesis
    Power BI新主页将使内容的导航和发现变得轻而易举!
  • 原文地址:https://www.cnblogs.com/pblr/p/5720336.html
Copyright © 2011-2022 走看看