博弈类题目总结
轉載請注明出處,謝謝http://blog.csdn.net/ACM_cxlove?viewmode=contents??? by---cxlove
首先當然要獻上一些非常好的學習資料:
基礎博弈的小結:http://blog.csdn.net/acm_cxlove/article/details/7854530
經典翻硬幣游戲小結:http://blog.csdn.net/acm_cxlove/article/details/7854534
經典的刪邊游戲小結:http://blog.csdn.net/acm_cxlove/article/details/7854532
五篇國家集訓隊論文:
張一飛:?《由感性認識到理性認識——透析一類搏弈游戲的解答過程?》
王曉珂:《?解析一類組合游戲》
方展鵬:《淺談如何解決不平等博弈問題》
賈志豪:《組合游戲略述——淺談SG游戲的若干拓展及變形》
曹欽翔:《從“k倍動態減法游戲”出發 探究一類組合游戲問題》
貌似還有一篇,找不到了。對于論文,看得不是很深,里面好多證明都非常詳細,也沒有仔細研究過。
建議從基本的NIM博弈,深入了解SG函數的意義。
=======================================================================
HDOJ1079&POJ1082&ZOJ1024 Calendar Game [找規律博弈]
根據奇偶性的變化找到規律,特殊情況特殊考慮
http://blog.csdn.net/acm_cxlove/article/details/7834004
HDOJ1525&POJ2348 Euclid's Game [找規律博弈]
根據每一步的必然性以及可選擇性決策
http://blog.csdn.net/acm_cxlove/article/details/7834336
HDOJ1564 Play a game [找規律]
打表發現奇偶性規律
HDOJ1846 Brave Game [找規律]
簡單的巴什博弈,當n為m+1的時候后者勝,否則前者勝。因為如果為m+1,不論前者怎么取,后者都能勝。
HDOJ1847 Good Luck in CET-4 Everybody! [找規律]
基本的SG函數構造
HDOJ2147 kiki's game [找規律]
可以打出PN表,不過可以直接找到規律,n和m只要有一個為偶數則必勝
HDOJ2516 取石子游戲 [找規律]
FIB博弈模型,http://blog.csdn.net/acm_cxlove/article/details/7834336
HDOJ2897 邂逅明下 [找規律]SG打表
類似巴什博弈找出區間[1-p]必敗 ?[p+1,p+q]必勝(取一個q,就能進入第一個區間) [p+q+1,2*p+q]必敗,[2*p+q+1,2*p+2*q]必勝
HDOJ3032 Nim or not Nim? [找規律]SG打表
Lasker's Nim游戲,通過打表可以發現規律
http://blog.csdn.net/acm_cxlove/article/details/7835178
HDOJ3389 Game [找規律]
1. 分成一個二分圖
如果可以從A拿卡片到B,連一條從A到B的邊。把所有box編號x滿足((x%
3==0&&x%2==1) || x%3==1)這個條件的放左邊,其他放右邊,不難發現
a) 只有從左邊到右邊的邊或從右到左的邊。
b) 所有不能拿卡片出去的box都在左邊。
2. 證明左邊的box并不影響結果。假設當前從右邊的局勢來看屬于輸家的人為了
擺脫這種局面,從左邊的某盒子A拿了n張卡片到B,因為B肯定有出去的邊,對手
會從B再取走那n張卡片到左邊,局面沒有變化
3. 于是這就相當于所有右邊的box在nim游戲。
HDOJ3537 Daizhenyang's Coin [找規律]SG打表
翻硬幣游戲,之Mock Turtles游戲
http://blog.csdn.net/acm_cxlove/article/details/7854181
HDOJ3544 Alice's Game [找規律]
題目還是有點不理解,找到最優策略,每次二分。。
HDOJ3863 No Gambling [找規律]簡單對偶博弈
先者必勝,容易發現,是堵不住的
HDOJ3951 Coin Game [找規律]
環形取石子,只要第一步不取完,就變成一條鏈,那么對手都能從中間取,將其分成相等的兩堆石子利用對稱性解題
HDOJ2188 悼念512汶川大地震遇難同胞——選拔志愿者?
[巴什博弈]
HDOJ2149 Public Sale [巴什博弈]輸出走法
明顯如果能一步達到要求的話,那么解為m……n
如果n是m+1的步數的話,是必敗,無論你加多少,如果 a,對方都會加m+1-a
,否則將價格控制在n%(m+1)處
HDOJ1850 Being a Good Boy in?spring?Festival [基礎Nim博弈]
需要輸出可行方案數量,表示第一步之后要使nim積為0,則一個個判斷是否大于要移走的數量
HDOJ2176 取(m堆)石子游戲?
[基礎Nim博弈]輸出第一步走法
HDOJ1527&POJ1067 取石子游戲 [威佐夫博弈]
威佐夫博奕(Wythoff Game),判斷是否為a=k*(sqrt(5)+1)/2,b=a+k
HDOJ2177 取(2堆)石子游戲 [威佐夫博弈]
需要輸出方案,打表,然后查找
http://blog.csdn.net/acm_cxlove/article/details/7836150
HDOJ1517&POJ2505 A Multiplication Game [K(2~9)倍博弈]
同樣的在1-9先手必勝,面是10-18,不論先手怎么辦,都是后者贏。同樣19-162為先手勝。可以發現規律
HDOJ2486&HDOJ2580&POJ3922 A simple stone game [K倍動態減法游戲]
神奇構造數列
http://blog.csdn.net/acm_cxlove/article/details/7836544
HDOJ4315 Climbing the Hill [階梯博弈]
階梯NIM,將奇數位作NIM,偶數位不影響
HDOJ1538 A Puzzle for Pirates [海盜分金問題]
海盜分金的詳細推理以及證明
http://blog.csdn.net/acm_cxlove/article/details/7853916
HDOJ3404 Switch lights [Nim積]
http://blog.csdn.net/acm_cxlove/article/details/7836764
-----------------------------------------------------------------------
HDOJ1404 Digital Deletions [SG博弈]
由于字符串長度只有6,整合成一個整數,暴力打SG表,從P態,能一步到達的是N態
HDOJ1536&HDOJ1944&POJ2960&ZOJ3084 S-Nim [SG博弈]
SG函數,對于每一個集合,求出SG函數
HDOJ1729 Stone Game [SG博弈]
SG函數,http://blog.csdn.net/acm_cxlove/article/details/7838563
HDOJ1730 Northcott Game [SG博弈]
轉換成之間距離的NIM博弈
HDOJ1760 A New Tetris Game [SG博弈]二維狀態
DFS博弈。
HDOJ1848 Fibonacci again and again [SG博弈]
SG打表
HDOJ1849 Rabbit and Grass [SG博弈]
轉換成NIM
HDOJ1851 A Simple Game [SG博弈]
范圍不大,直接構造SG函數,或者轉化成NIM與巴什博弈的結合
HDOJ1907&&POJ3480&ZOJ3113 John [SG博弈]
ANTI-SG,見賈志豪論文
http://blog.csdn.net/acm_cxlove/article/details/7839276
HDOJ2509 Be the Winner [SG博弈]可以分成兩堆的操作
ANTI-SG,同上
HDOJ2873 Bomb Game [SG博弈]
SG函數打表,類似于NIM,最后求游戲的和
HDOJ2999 Stone Game, Why are you always there? [SG博弈]
構造SG,http://blog.csdn.net/acm_cxlove/article/details/7840042
HDOJ3595 GG and MM [SG博弈]
Every-SG問題,http://blog.csdn.net/acm_cxlove/article/details/7840427
HDOJ3980 Paint Chain [SG博弈]
原本是一個環,先染一段,便成鏈,而且第一步是固定的。環的狀態不好處理 。
我們先不管第一步,從鏈開始,一個鏈從中間染色就可能砍成兩段,便成兩個子
問題。后期見http://blog.csdn.net/acm_cxlove/article/details/7840042
最后再把第一步考慮上。
HDOJ4111 Alice and Bob [SG博弈]DP+石子合并
http://blog.csdn.net/acm_cxlove/article/details/7841115
HDOJ4155&ZOJ1827 The Game of 31 [SG博弈]記憶化搜索
搜索,5^6
HDOJ4203 Doubloon Game [找規律][SG博弈]
雖然是普通的SG博弈,不過數據太大,沒辦法打SG表,只能在小數據中找規律。
HDOJ1524 A Chess Game [有向無環圖SG博弈]
和普通SG博弈類似,遞歸求出后繼結點的SG值
http://blog.csdn.net/acm_cxlove/article/details/7842242
HDOJ3094 A tree game [有向無環樹形圖SG博弈]
樹的刪邊游戲http://blog.csdn.net/acm_cxlove/article/details/7842586
HDOJ3590 PP and QQ [樹形SG博弈]反博弈,砍樹
樹的刪邊游戲+ANTI-SG,
http://blog.csdn.net/acm_cxlove/article/details/7842743
HDOJ3197 Game [樹形SG博弈]砍樹
樹的刪邊游戲,把多棵樹的根異或起來就行了
=======================================================================
POJ1740 A New Stone Game [找規律]
POJ2484 A Funny Game [找規律]
環形取石子,只要第一步不取完,就變成一條鏈,那么對手都能從中間取,將其分成
相等的兩堆石子
POJ2234 Matches Game [基礎Nim博弈]
POJ2975&ZOJ3067 Nim [基礎Nim博弈]輸出方法
POJ2368 Buttons [巴士博弈變形]
巴什博弈的理解,只要找到總數的因子-1即可。不過因為不能為1,所以對于因子
從3開始,而且對于那種偶數要格外注意
POJ2311 Cutting Game [SG博弈]
對于一個狀態n*m,找到后繼狀態,SG博弈
http://blog.csdn.net/acm_cxlove/article/details/7845904
POJ2425 A Chess Game [SG博弈]
樹形,無向無環圖博弈
POJ1678 I Love this Game! [動態博弈]動歸+博弈
博弈DP,記憶化搜索
http://blog.csdn.net/acm_cxlove/article/details/7846480
POJ2068 Nim [SG博弈]雙人博弈
二維博弈DP,http://blog.csdn.net/acm_cxlove/article/details/7846793
POJ3537 Crosses and Crosses [SG博弈]
每次選擇一個位置放下后,左右鄰近的4個位置,都不會主動放下棋子。長度為N
的棋盤,如果在位置I放下棋子后,則分為左邊I-3個位置和右邊N-I-2個位置的子游戲
POJ2599 A funny game [樹形SG博弈]記憶化
搜索,N/P的狀態轉換
http://blog.csdn.net/acm_cxlove/article/details/7847347
POJ3710 Christmas Game [圖上博弈]無向圖刪邊
Tarjan算法找出環,處理環之后,便是經典的刪邊游戲。
擁有奇數條邊的環可簡化為一條邊,偶數條邊的環可簡化為一個節點。
http://blog.csdn.net/acm_cxlove/article/details/7848001
POJ1704 Georgia and Bob [階梯博弈]
將之間的距離作為石子堆,對于階梯博弈,偶數堆不影響,相當于奇數堆的NIM。
POJ2931 Procrastination [不平等博弈]
跪舔,題目看不懂,論文看不懂。
有興趣的可以看方展鵬論文,《淺談如何解決不平等博弈問題》
POJ3533 Light Switching Game [Nim積]
三維的NIM積
POJ 1085?Triangle War (極大極小搜索+alpha_beta剪枝)
http://blog.csdn.net/acm_cxlove/article/details/7997246
=======================================================================
ZOJ2290 Game ?[找規律]
FIB博弈
ZOJ2686 Cycle Game [找規律]dfs搜索
直接搜索會超時,我們做一些優化,發現如果某個方向有連續奇數個非0數,那么
先手便可以朝那個方向,每次把數全部取完,對手如果也取完,那么一直下去先
手勝,如果對手不取完,那么先手反向取完,還是先手勝
http://blog.csdn.net/acm_cxlove/article/details/7850050
ZOJ2725 Digital Deletions [找規律]打表
同HDU 1404
ZOJ2083 Win the Game [SG博弈]
SG博弈,將長度為n的線段,分為兩部分,i,n-i-2。異或之后取mex操作
ZOJ2507 Let's play a game [反Nim,SG博弈]
ANTI-SG游戲,見http://blog.csdn.net/acm_cxlove/article/details/7839276
ZOJ3513 Human or Pig [SG遞推]
遞推,P態的所有后繼都為H態,否則則為H態
ZOJ3529 A Game Between Alice and Bob [SG博弈]
SG博弈,可以發現SG值便是質因子個數,轉換成NIM
http://blog.csdn.net/acm_cxlove/article/details/7850798
ZOJ3591 Nim [Nim博弈]+位運算
先生成序列,nim[i]表示前i個堆的異或值,如果nim[i]==nim[j],則表示
i+1,i+2……j的異或值為0,為必敗。
http://blog.csdn.net/acm_cxlove/article/details/7851099
ZOJ3057 beans game [DP博弈]
三維保存狀態,博弈DP。注意卡時卡內存
http://blog.csdn.net/acm_cxlove/article/details/7851904
ZOJ1039 Number Game [狀壓+博弈樹]記憶化搜索
狀態壓縮,將19個數字壓縮,充分利用位運算,每次找到后繼集合,記憶化搜索
http://blog.csdn.net/acm_cxlove/article/details/7852347
ZOJ3599 Game [K倍博弈]
與HDU 2486 類似,
http://blog.csdn.net/acm_cxlove/article/details/7836544
ZOJ2804 Funny Games [不知道什么類型]
題目看不懂。。。。
=======================================================================
UVA12350 Queen Game [跪舔的博弈]
題目看不懂。。。。
總結
- 上一篇: 用C++写出求矩形和圆形面积的程序
- 下一篇: 今天带软测2班学员做面试前的试题(每天几