Codeforces1365

AC代码

A. Matrix Game

对于给定矩阵,剩余可用的位置的数目是确定的,根据奇偶性判断就完事了。

B. Trouble Sort

如果数组\(b\)有0有1,那么Yes。否则只有数组\(a\)原本就有序才Yes。

C. Rotation Matching

因为是\(a\)\(b\)是排列,所以固定数组\(b\)\(a_i\)对结果有贡献的偏移量是一个常量。所以只需要统计出所有的偏移量,偏移量的出现次数的最大值就是答案。

D. Solve The Maze

首先一个明显的结论:若有G和B相邻的情况则No。

然后我就直接猜结论:封锁所有B的四周,若是所有的G都能逃离且没有B能逃离,则Yes,否则No。

封锁四周就直接枚举,判断能不能逃离就从出口开始做一次BFS。

E. Maximum Subsequence Value

猜结论:答案就是任意3个数或起来的最大值。

证明:只需要证明任意4个数的答案不会比3个数的答案更优即可。任取4个数,设此时某个\(i\)对结果有贡献,那么\(i\)位上至少有\(2\)个1,那么任意扔掉一个数,还是满足\(i\)对答案有贡献的条件,所以任意4个数的答案不会比3个数的答案更优。

F. Swaps Again

通过交换前后缀,可以实现一下两个操作:

  • \(a_{i}和a_{n-i+1}\)互换位置。
  • \(a_i, a_{n-i+1}\)\(a_j, a_{n-j+1}\)互换位置。

然后就可以推出:只要所有的\((a_i, a_{n-i+1})\)都有对应的\((b_j, b_{n-j+1})\)与之匹配,那么就Yes,否则No。

然后就跑出所有的\((a_i, a_{n-i+1})\)\((b_j, b_{n-j+1})\),然后排个序判断是否一一对应就好了。

总结

终于不自闭下分了,之前两场直接掉了160分,我人都傻了。

这场直觉场,我就C题卡了一会儿,然后E看错题目做了道假题。(所以这场我A了7道题?)

posted @ 2020-06-08 01:17  _Backl1ght  阅读(159)  评论(0编辑  收藏  举报