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道题?)

Codeforces1365的更多相关文章

随机推荐

  1. Java分层领域模型的DO、DTO、BO、AO、VO、POJO、Query定义

    分层领域模型:    DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象.    DTO( Data Transfer Object):数据传输对象,Servic ...

  2. Python基础教程(第2版)简介及PDF下载地址!

    内容简介 · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”.本书层次鲜明.结构严谨.内容翔实,特别是在最后 ...

  3. Java 图书管理项目

    思路总结: 1.使用空布局 2.构造方法里写初始打开的界面 3.return 意思是 "否则"  代替else if,一切归于平静 4.连接数据库时 db=new database ...

  4. C#LeetCode刷题-记忆化

    记忆化篇 # 题名 刷题 通过率 难度 329 矩阵中的最长递增路径   31.0% 困难

  5. 浅谈:C#中的非泛型集合

    1.首先:ArrayList:非泛型集合 List:泛型集合 集合跟数组比较我们更容易理解.数组:1,长度固定2,数据类型预先声明 集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为 ...

  6. Redis持久化存储——>RDB & AOF

    Redis中两种持久化存储机制RDB和AOF redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失.幸好Redis还为我们提供了持久化的机制,分别是RDB ...

  7. 笔记:CSS基础

    一.CSS(层叠式样式表),决定页面怎么显示元素 1.引入方式: 行内样式,在当前标签元素中直接使用 style 的属性. 内嵌方式,在<head>中写样式: 外链式,<link&g ...

  8. Swing记事本项目

    具备记事本功能:文件保存.文件打开.复制.黏贴.撤销.全选.字体修改.字体颜色修改.背景颜色修改

  9. java基础-03:注释

    1.注释的意义: (1) 为了更好的阅读自己编写的代码,方便日后代码维护,建议添加注释. (2) 有利于团队协作. (3) 代码即文档.程序源代码是程序文档的重要组成部分. 2.注释分类 (1) 单行 ...

  10. JavaScript学习系列博客_26_JavaScript 数组的一些方法

    数组的一些方法 - push() - 用来向数组的末尾添加一个或多个元素,并返回数组新的长度 - 语法:数组.push(元素1,元素2,元素N) - pop() - 用来删除数组的最后一个元素,并返回 ...