1. 程式人生 > >pku 1740 A New Stone Game(博弈,感性)

pku 1740 A New Stone Game(博弈,感性)

博弈類問題的關鍵,就是尋找平衡狀態。
這題的平衡狀態是什麼?石頭堆的數量是成對出現的,也就是說後取者總可以模仿先取者。

逐一分析:
剩餘1堆石頭:先取者全部拿走,勝利。
剩餘2堆石頭:假設兩堆石頭的數量相等,均為m。對於(m,m),先取者沒辦法一次將兩堆石頭拿走,則後取者總可以模仿先取者的動作,只需換一下操作物件,使兩堆石頭變成(n,n)。最後肯定有某一次先取者操作後石頭只剩下一堆,這時後取者將剩下的一堆全部拿走,勝利。
也就說,對於(m,m),後取者必勝。
如果兩堆石頭不相等,(m,n),則先取者把多的那一堆拿走一些,使兩堆相等(n,n)。
也就說,對於(m,n),先取者必勝。
剩餘3堆石頭:(x,y,z)其中(x<=y<=z),先取者可以把z分(y-x)到x上,剩下的全部拿走,於是局面變成了(y,y,0)。也即是說對於3堆石頭,先取者必勝。
對於4堆石頭:如果(m,m,n,n),這樣和兩堆石頭的(m,m)局面是類似的,先取者必敗,後取者必勝。但如果不是這樣的情況,(a,b,c,d)其中(a<=b<=c<=d),先取者操作最後一堆石頭,總可以使局面變成(a,c,c,a)。這樣就把必敗局留給了後取者,也就是說這種情況先取者必勝。
對於n堆石頭,分析和前面類似。。。。。

總的來說,對於n堆石頭:
如果n是奇數,先取者必勝。
如果n是偶數,石頭堆排序後可以寫成(a,a,b,b,c,c,d,d,....)則先取者必敗,否則先取者必勝。

相關推薦

pku 1740 A New Stone Game博弈感性

博弈類問題的關鍵,就是尋找平衡狀態。 這題的平衡狀態是什麼?石頭堆的數量是成對出現的,也就是說後取者總可以模仿先取者。 逐一分析: 剩餘1堆石頭:先取者全部拿走,勝利。 剩餘2堆石頭:假設兩堆石頭的數量相等,均為m。對於(m,m),先取者沒辦法一次將兩堆石頭拿走,則後取者總可

POJ 1740 A New Stone Game博弈題解

const 證明 one int ios scan space return i++ 題意:有n個石子堆,每一個都可以輪流做如下操作:選一個石堆,移除至少1個石子,然後可以把這堆石子隨便拿幾次,隨便放到任意的其他石子數不為0的石子堆,也可以不拿。不能操作敗。 思路:我們先來

Poj-3922 A simple stone game博弈k倍動態減法

A simple stone game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 310 Accepted: 161 Description After he has learned h

2018.11.07【POJ1740】A New Stone Game階梯博弈模仿策略

傳送門 解析: 首先,題目沒有說勝利判定方式啊,我去討論區看到勝利方式是拿走最後一顆石子。 這個博弈的主要策略是模仿。 每一方只需要保證對方有辦法可動的時候自己也有辦法可動就行了。 所以先手必敗的局面就是,有偶數堆石頭,並且每種大小的堆存在偶數個,因為只有這個時

【POJ】1740.A New Stone Game

eof pac 博弈 turn += 多余 stream ring 就是 題解 想去學習一下博弈論的SG函數 不過貌似這道題就是猜結論並且證明 題意是,隨便選擇一堆石子,扔掉至少一個,然後從扔石子的這堆裏選擇任意多(可以不選)放到其他任意多的未選擇完的石堆裏 一堆石子,先手

1740 A New Stone Game

Step1 Problem: 兩個人玩遊戲,有 n 堆石子,每個人可以選擇從某堆拿走至少一個石子,(可省略)將剩下的石子分配給其他堆。 Step2 Ideas: 學習部落格 假設石頭堆是對稱的,即每堆石頭數量的出現次數都是偶數。則後手可

CF 815 A. Karen and Game暴力模擬

技術分享 multipl ext single tput names example 輸出 初始 題目鏈接:http://codeforces.com/problemset/problem/815/A 題目: On the way to school, Karen

POJ 1740A New Stone Game

always you 簡單 sum type down .text i++ class A New Stone Game Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5113

poj 樓天成的男人八題系列 A New Stone Game 博弈問題

第一,只有一堆x,第一個人直接全部取走就勝利了.(顯然x,y,y的情況也是第一人勝,所以忽略相等的石頭); 第二,x,y的形式(這裡不妨假設遞增,下同).第一人從第二堆中取走(y-x)個石頭,這樣兩

uva 1378 - A Funny Stone Game sg博弈

1.0 mat cto i+1 clas typedef article 移動 post 題意:David 玩一個石子遊戲。遊戲中,有n堆石子,被編號為0..n-1。兩名玩家輪流取石子。 每一輪遊戲。每名玩家選取3堆石子i,j,k(i<j,j<=k,且至

Uva 1378 A Funny Stone Game (ACM ICPC 2006 Asia Regional Contest Beijing A Funny Stone Game)Nim 博弈

傳送門 王曉珂的題解乍一看非常難理解,且聽我慢慢解釋。 首先考慮這樣一個子問題: 當前棋子堆的編號為 m , 要求你把這個堆,並且放入兩堆編號分別小於 m 的棋子, 這裡分別計為 i, j (i, j < m) 那麼這種情況的 SG 是怎麼求的呢? 設當前編號 m 對應的局

A new Graph Game HDU-3435

Problem Description An undirected graph is a graph in which the nodes are connected by undirected arcs. An undirected arc is an edge that has no a

3951】Coin Game 博弈猜規律對稱博弈

題幹: After hh has learned how to play Nim game, he begins to try another coin game which seems much easier.  The game goes like this: 

2013 ACM-ICPC吉林通化全國邀請賽 && HDU 4597 Play Game 博弈 + 區間dp

Play Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 1185 Accepted Submission(

洛谷P4907【CYH-01】小奔的國慶練習賽 :$A$換$B$ $problem$DFS剪枝

技巧 show -h 可能 reg http 復雜度 tex \n 洛谷題目傳送門 順便提一下題意有一個地方不太清楚,就是如果輸出No還要輸出最少需要添加多少張牌才能滿足要求。蒟蒻考完以後發現四個點Too short on line 2。。。 比較需要技巧的搜索 既然是同一

【CF#192 A】Funky Numbers 二分查詢

題幹: As you very well know, this year's funkiest numbers are so called triangular numbers (that is, integers that are representable as , w

hdu 1564 Play a game 博弈 奇偶規律

Play a game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2322 Acce

POJ 2484 - A Funny Game博弈

題目連結 https://cn.vjudge.net/problem/POJ-2484 【題意】 n枚硬幣圍成一圈,Alice和Bob輪流取,每次取一枚或連續的兩枚。硬幣取走之後留下空位,相隔空位的硬幣是不連續的。Alice先取,取走最後一枚硬幣的一方獲勝。輸入n,當雙方都採取最優策略時

HDU 3435A new Graph Game網絡流之最小費用流

new ext 感覺 span hdu string.h return pri cpp 題目地址:HDU 3435 這題剛上來一看,感覺毫無頭緒。。再細致想想。。發現跟我做的前兩道費用流的題是差點兒相同的。能夠往那上面轉換。 建圖基本差點兒相同。僅僅只是這裏是無向圖。建

acd - 1403 - Graph Game博弈 + 二分圖最大匹配

-- target ++i con -1 dsm return 中一 inf 題意:N與P在玩遊戲,N有 n1 個點,P有 n2 個點,N的點與P的點之間有 m 條無向邊。將一個石子放在當中一點。N先移動石子。沿邊移動一次,石子移動前的點及與該點相連的邊被刪除。接著