P2575 高手過招

2022-05-20 02:38:48 字數 802 閱讀 4485

傳送門

直接搞好像搞不了

考慮轉換模型

顯然每一行棋子不會跑到其他行..

所以可以把每一行的情況看成乙個子博弈

顯然整個答案就是每一行的sg值的異或和

不懂的回去學sg函式...

考慮怎麼分析一行的狀況

可以發現空位的個數是不會變的

如果把每一段連續的棋子看成一塊

整塊的的值為塊中棋子的個數

那麼每次操作會使一塊的值減少乙個數 $a$

然後讓右邊的另一塊增加 $a$

顯然變成了階梯nim..

然後就可以搞了

(關於階梯nim,我是在 這裡 學的,講得很清楚)

**很簡單,不用注釋了吧

#include#include

#include

#include

#include

using

namespace

std;

int n,t,m,ans,b[27

],k;

bool

flag;

intmain()

int tot=0,j=20,fg=0

;

while(b[j]) j--;

while(j--)

ans^= (fg?tot:0

); }

if(ans) printf("

yes\n");

else printf("

no\n");

}return0;

}

洛谷P2575高手過招 SG函式初試

題目 第一次用sg函式解決問題,有許多不熟練的地方 試圖按自己的理解寫乙個dfs,結果錯了 連題都沒讀對,以為是像跳棋一樣跳 這樣的話用dfs從左往右推就不行了呢 附上自己的錯誤嘗試 include include include using namespace std int maxn 20000...

Luogu P2575 高手過招(博弈論)

睪 手過招 題意描述 給定n個長度為20的,由0和1組成的序列。對於每個序列,都可以進行操作 將任意乙個1移動到其右邊的第乙個0處。每次可以選擇任意乙個序列中的任意乙個1操作。不能操作者輸。給定初始n個序列,求是否為必勝態。題解 sg定理 對於任意乙個狀態 x 如果其sg函式值 sg x 0 則 x...

研發管理之高手過招

知識經濟 時代,產品研發 的地位日益提公升,自主創新 已成為每個企業賴以生存的基本,產品研發成為企業成敗的關鍵。從具體資料上來看,80年代中期,新產品僅代表著企業33 的年銷售額和22 的利潤,90年代達到企業50 的年銷售額和40 的利潤,而當今,則增長至60 以上的年銷售額和50 以上的利潤。如...