階梯NIM和樹上NIM

2022-06-22 21:24:11 字數 474 閱讀 6253

有\(n\)個位置\(1....n\),每個位置上\(a_i\)個石子。有兩個人輪流操作。操作步驟是:挑選\(1.....n\)中任一乙個存在石子的位置\(i\),將至少1個石子移動至\(i−1\)位置(也就是最後所有石子都堆在在0這個位置)。誰不能操作誰輸。求先手必勝還是必敗。    

問題等價於,求位置為奇數的\(a_i\)的異或和,若異或和等於0,則先手必敗,否則先手必勝。你可能已經注意到這非常像nim遊戲。其實這個遊戲恰好等價於:將每個奇數字置的數x看成一堆有x個石子的石子堆,然後玩nim遊戲。

如果是先手且必勝,按照nim博弈的方式移動奇數號,如果對手也移動奇數號,那麼繼續,如果對手移動偶數號(對於奇數號產生了影響),那麼先手將對手移動的石子往下再移動,即是把對手操作從奇數號移動到奇數號,沒有改變,那麼先手必勝,必敗也是同理

給定一棵樹,每個點有點權,兩個人玩nim遊戲

深度為奇數的點權異或起來,如果非0,先手必勝。

不也相當於二維的階梯博弈

Nim遊戲與階梯Nim博弈

問題描述 一共有n堆石子,編號1 n,第i堆中有個a i 個石子。每一次操作alice和bob可以從任意一堆石子中取出任意數量的石子,至少取一顆,至多取出這一堆剩下的所有石子。兩個人輪流行動,取光所有石子的一方獲勝。aice為先手.給定a,假設兩人都採用最優策略,誰會獲勝?問題分析 從簡單情況分析,...

階梯Nim問題

有 n 個位置 1.n 每個位置上有 a i 個石子。有兩個人輪流操作。操作步驟是 挑選 1.n 中任一乙個存在石子的位置 i 將至少1個石子移動至 i 1 位置 也就是最後所有石子都堆在在0這個位置 誰不能操作誰輸。求先手必勝還是必敗。問題等價於,求位置為奇數的 a i 的異或和,若異或和等於0,...

hdu5996 階梯nim博弈

第一次接觸到階梯nim博弈 看了這篇部落格,講得比較清楚 大意就是給一顆樹 樹的節點上放有石子,每次只能把石子往父節點移動一下,規定不能移動者輸。看了階梯博弈後大概就能懂這題的意思了,直接把深度為奇數的節點異或起來就可以了 include include include include includ...