Codeforces Round #557 題解
掉分快樂
CF1161A Hide and Seek
Alice和Bob在玩捉♂迷♂藏,有\(n\)個格子,Bob會檢查\(k\)次,第\(i\)次檢查第\(x_i\)個格子,如果Alice在這個格子就輸了。Alice一開始會在一個格子,可以在Bob檢查過一次后向一個相鄰的格子移動(整局游戲只能用一次)。求Alice有多少種方案贏。
兩個方案相同當且僅當Bob檢查之前Alice的位置和Bob做完所有檢查之后Alice的位置都相同。
cao,sb閱讀題。。。
直接枚舉方案判斷即可
https://codeforces.com/contest/1161/submission/53750223
CF1161B Chladni Figure
有一個圓形光碟,圓上均勻放着\(n\)個點。一些點之間有連邊。
問這個光碟是否可以旋轉一定角度和自己相等。(顯然不能是360度)
kao我是sb這都不會了。。。
對一個角度暴力判斷是\(O(n)\)的,然后可能的角度肯定是\(n\)的約數就做完了。。
https://codeforces.com/contest/1161/submission/53768643
CF1161C Thanos Nim
取石子游戲,每次選擇\(n/2\)堆取任意數量石子,不能操作者輸。
(此題我還是不知道是啥意思,"They can remove a different number of stones from the piles in a single turn"這句話太鬼了)
顯然的可以知道,如果有人取完一堆石頭這個人就輸了。
如果最小值的數量小於等於\(n/2\)則Alice贏,否則Bob贏。
如果現在在必勝態,就有\(\geq n/2\)個石子嚴格大於當前最小值,將它們減到最小值,就到達了必敗態。
如果是必敗態,至少會取到一個最小值的堆減小最小值,那么新的最小值數量最多也就\(n/2\)個。
https://codeforces.com/contest/1161/submission/53769976
CF1161D Palindrome XOR
有一個數字串\(s\),由0
、1
和?
組成,串長為\(n\),第0位是1
。你要取兩個數\(a,b\),滿足以下條件:
- \(0<a<b<2^n\)
- \(a\)和\(b\)去掉前導\(0\)之后是回文數字
- \(a\text{ xor }b\)的二進制表示與給定的數字串匹配。
?
可以匹配0
和1
,0
和1
只能匹配對應的數字。
由只有0和1可以想到圖的染色。
因為\(s\)保證了第0位是1,那么顯然\(a\)第0位是0,\(b\)第0位是1,b的長度就一定是\(n\)了。枚舉\(a\)的長度\(l\),建一張圖。對\(a,b\)每一位都建一個點,設為\(A_i,B_i\),再建一個\(I\)點表示\(0\)。
點的顏色只有\(0,1\)兩種,邊有權值\(0\)或\(1\),意義是連的兩個點顏色相等/不等。
顯然連邊滿足條件。第一個條件已經滿足了,再看第二個條件,對於\(a\)只需要對所有滿足條件的\(i,j\)連邊\((A_i,A_j,0)\)即可,\(b\)一樣。
第三個條件也很好滿足,將對應位置的\(A_i,B_i\)連邊\((A_i,B_i,s_i)\)即可。如果\(s_i\)是?
不需要連邊,如果\(A_i\)不存在就是\(0\),向\(I\)連邊。
還有,因為第一位一定是是\(1\),所以連邊\((B_1,I,1),(A_{n-lena+1},I,1)\)。
對整個圖進行染色,如果可以染色,設聯通塊數量是\(C\),答案加上\(2^{C-1}\),因為\(I\)一定取\(0\),剩下的聯通塊可以任意交換\(0,1\)。
https://codeforces.com/contest/1147/submission/53788363
CF1161E Rainbow Coins
交互題
有\(n\)個硬幣,每個硬幣有3種可能顏色。
你可以拿出兩個硬幣詢問顏色是否相等。
你每次可以同時詢問若干對硬幣,但是一次詢問中不能有硬幣被詢問過2次。
最后輸出三組數,每一組里的硬幣顏色應該相同。
最多詢問7次。(一次可以同時詢問多組)
首先詢問兩次,第一次詢問\((2i-1,2i)(i\geq 1)\),第二次詢問\((2i,2i+1),\cdots(i\geq 1)\),相鄰的兩個如果相同就縮起來,這樣序列相鄰兩個都不同了。
然后在縮完以后的序列上詢問兩次,都詢問\((i,i+2)(i\geq 1)\),兩次可以問完。通過這個可以求出\(last_i\)表示\(i\)與\(i-2\)顏色是否相等。
然后就可以遞推一遍求出答案了。前兩塊顏色分別是0,1,然后遞推到塊\(i\)時,如果\(lst_i=1\),那么\(col_i=col_{i-2}\),否則因為\(col_i\neq col_{i-1},col_i\neq col_{i-2}\),\(i\)的顏色還是唯一確定的。
https://codeforces.com/contest/1161/submission/53793188
CF1161F Zigzag Game
有一個二分圖,左右各\(n\)個點,邊有權值。alice和bob在上面玩游戲,alice先選擇“增加”或者“減少”,bob會選擇剩下的,然后alice選一個開始點,雙方輪流在二分圖上移動,bob先任意移動一步,然后如果alice選了增加,alice移動的邊較上次必須嚴格更大,bob同理。顯然無法移動就輸了。而且不能走到以前走到過的點。你要和judger玩這個游戲,你先選則玩alice還是bob,然后玩游戲,顯然你要贏。
因為zsy太強了,bob是實際意義上的先手,當然選bob了。(而且樣例2說明了選alice可能直接暴斃)
還是因為zsy太強了,在二分圖上的博弈要先找一個匹配,每次直接走匹配上的邊。
假設Alice選了“增加”(否則取反所有邊權)並選一個左邊的點開始。如果有連續的三步\(a\rightarrow b\rightarrow c\rightarrow d\),且\(a,c\)在左邊,\(b,d\)在右邊,那么\(a\rightarrow b,c\rightarrow d\)是bob走的,\(b\rightarrow c\)是alice走的。因為移動的“增加”“減少”限制,我們需要滿足\(W_{a,b}<W_{b,c},W_{b,c}>W_{c,d}\)。
還是因為zsy太強了,這是一個穩定婚姻問題,左邊點對於右邊點的權值是邊權,右邊對於左邊點的是邊權相反數。