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
==思维==。
无论怎么交换,最开始两个相对的数的位置仍然保持相对不变,实际位置可以变。所以只需对两个数组记录一下序数对,然后排序看是否相等即可。