給定乙個n∗m
n*mn∗
m的矩形方格紙,每次可以把它裁為兩個子矩形,若裁出乙個1∗1
1*11∗
1則勝,判斷先手是否必勝。
n
≤2000,m
≤2000
n\le 2000,m\le 2000
n≤2000
,m≤2
000
直觀的想法是設f[i
][j]
f[i][j]
f[i][j
]為i∗
ji*j
i∗j的矩形是否必勝,用sgsg
sg函式轉移。試完樣例後發現是假的,因為sgsg
sg函式只適用於如lim
limli
m遊戲一類的轉移到的子狀態要全部滿足乙個條件才必勝,才可用異或和合併,而此題只要乙個子狀態滿足條件即獲勝。之後想了很多奇怪的dp或猜結論,發現都是假的。考慮如何把它轉化為sgsg
sg的模型,發現對於1∗n
1*n1∗
n是必勝的,每個人一定都不想轉到有1*n的子狀態,而對於2∗2
,2∗3
,3∗3
2*2,2*3,3*3
2∗2,2∗
3,3∗
3又只能轉到1∗n
1*n1∗
n,故必敗。所以每個人一定都盡量想最後把矩形拆分為若干2∗2
,2∗3
,3∗3
2*2,2*3,3*3
2∗2,2∗
3,3∗
3的矩陣,因為如果最後全部都是2∗2
,2∗3
,3∗3
2*2,2*3,3*3
2∗2,2∗
3,3∗
3,就必勝。於是問題就轉化為乙個全域性都滿足乙個條件的博弈問題,即可用sgsg
sg函式直接解決。
(CSP2019模擬)閱讀
有n nn個字串,每次可以把每個字串都標記至多乙個字首,但這些字首之間不能有包含關係,求把所有字串的所有字首都標記完的最小次數。資料範圍 n nn,字串總長 100000 le100000 10000 0 如果乙個字串s ss的字首a aa包含於另乙個字串t tt的字首b bb,那麼a aa是t t...
CSP2019模擬 五彩樹
給定一顆n nn個節點的樹,每個節點有 1,m 1,m 1,m 中的一種顏色,求乙個包含不少於k kk種顏色的連通塊,使其它節點到該連通塊最短路徑的最大值最大。資料範圍 n,m 1000000 n,m le 1000000 n,m 10 0000 0 如果已經確定乙個到連通塊最短路徑最大的節點p p...
CSP2019初賽遊記
沒想到居然ak了,就紀念一下吧。這次的聯賽,只能說是高三生活的一縷雜音了吧。這次,我的心態可以說是非常平穩了。畢竟不再會有競賽生涯的壓力,也不會有患得患失的惶恐。不過也許我開考前的放聲唱歌驚擾了一些人,對不起了。笑 許多曾同在機房,現在同在教室的同學們,做完之後就趴下了。雖然我覺得確實挺簡單的,但是...