Codeforces Round #648 (Div. 2)(A-F)簡要題解
A. Matrix Game
奇偶性博弈。
顯然每次選一個格子,可用的行和列都會減1,所以只需看最初可用的行和列的最小值的奇偶性即可。
B. Trouble Sort
簡單思維。
觀察一下可得只要一個序列有兩種類型就可以得到任何排列,若只有一種類型判斷一下序列是否非遞減即可。
C. Rotation Matching
暴力。
因爲向左移動次等於向右移動次,且最多移動次,所以我們只需要找到移動向左(右)移動多少次時有最大答案。我們只需記錄的位置,然後計算中與相同數字的位置差,它代表序列移動的次數。最後取最大值即可。
D. Solve The Maze
貪心。
考慮堵住的四周肯定是最優的,且當周圍有時顯然無解,所以可以將周圍都變成不可走的路徑,然後從一下能否走到即可。
E. Maximum Subsequence Value
貪心。
當時最優的,由鴿巢原理可得,當時肯定能選出的子集滿足同樣條件。
舉個例子:,被分成兩個部分,中至少一個在這個集合裏。
被分成兩個部分,中至少有一個在3這個集合裏。
F. Swaps Again
思維。
無論怎麼交換,最開始兩個相對的數的位置仍然保持相對不變,實際位置可以變。所以只需對兩個數組記錄一下序數對,然後排序看是否相等即可。