博弈論刷題記

2021-09-27 02:34:11 字數 829 閱讀 8429

刷了一些博弈論的結論題就不記錄了,把一些有價值的題記錄一下吧。

sg函式打表找規律

# include

using

namespace std;

const

int maxn=

1e4+

100;

int sg[maxn]

;int

main()

int cnt=0;

while(s.count(cnt)) cnt++;

sg[i]=cnt;

} for(int i=0;i<100;i++) coutwhile(~

scanf

("%lld"

,&n)

)return0;

}

直接分析找規律

aa=b || a%b=0 必勝

a>=2b if (a%b, b)是必勝態 ,那麼走( a%b+b , b ) ,因為對手只能走到 ( a%b , b )這個 必勝態,那麼必勝; if (a%b, b) 是必敗態,那麼就走這個,因為必敗態一定可以推出必勝態;綜上a>=2b是必勝的

a>b&&a<2b 就直接執行 a=a-b即可

# include

using

namespace std;

intmain()

if(flag)

printf

("stan wins\n");

else

printf

("ollie wins\n");

}return0;

}

博弈論刷題記

刷了一些博弈論的結論題就不記錄了,把一些有價值的題記錄一下吧。sg函式打表找規律 include using namespace std const int maxn 1e4 100 int sg maxn int main int cnt 0 while s.count cnt cnt sg i ...

博弈論 Nim博弈

1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...

博弈論 博弈混合

給你乙個n m的棋盤,然後給你4種棋子,分別是 1.王 能橫著走,或者豎著走,或者斜著走,每次可以走1格 2.車 可以橫著走或者豎著走,每次可以走無數格 3.馬 走日字形,例如 如果現在在 1,1 可以走到 2,3 即先走一格直線,然後斜著走一格 4.王后 可以橫著走,或者豎著走,或者斜著走,每次可...