• 【10.31】【VP】Codeforces Round #732 (Div. 2)


    ALL:6
    AC:2
    补题:2
    Rank:2694


    C. AquaMoon and Strange Sort

    题意:

    n ( 1 ≤ n ≤ 1 0 5 ) n(1\leq n\leq 10^5) n(1n105) 个人从左到右站成一排,从左数第 i i i 个人的衣服上印着 a i a_i ai。每个人的朝向可以是朝左、朝右。一开始所有人的方向都是朝右。

    您可以对这些人做一些“操作”,每次操作允许您找两个相邻的人让他们交换顺序,但是在操作之后,两人都会掉头,也就是朝向都从朝右变成朝左或者相反。

    现求是否存在一种操作方法使得操作完成后这 n n n 个人衣服上的数字 a 1 , a 2 , … , a n a_1, a_2, \ldots , a_n a1,a2,,an 从左往右读单调不减,并且最后所有人的方向都朝右。

    思路:每一个数字会被交换偶数次,同一种数字会被换到同一片连续的区域。那么一个数字被交换偶数次,意味着起点与终点的下标距离也是偶数。那么统计一下一种数字在奇偶下标的个数即可。

    (赛时没有统计奇偶下标个数,而是统计同一种数字的下标之和,最后成功 WA38( 比赛评论区

    AC代码:https://codeforces.com/contest/1546/submission/178759152


    D. AquaMoon and Chess

    题意:

    你有一个长为 n ( 1 ≤ n ≤ 1 0 5 ) n(1\leq n\leq 10^5) n(1n105) 的棋盘,这个棋盘上有一些棋子,你可以进行如下操作:

    如果第 i + 2 i + 2 i+2 个位置是空的,且第 i + 1 i + 1 i+1 个位置非空,则可以将第 i i i 个位置的棋子挪到第 i + 2 i + 2 i+2 个位置 ( i + 2 ≤ n i + 2 \leq n i+2n).

    如果第 i − 2 i - 2 i2 个位置是空的,且第 i − 1 i - 1 i1 个位置非空,则可以将第 i i i 个位置的棋子挪到第 i − 2 i - 2 i2 个位置 ( i − 2 ≥ 1 i - 2 \geq 1 i21).

    现在将给出一个棋盘的初始状态,求可以通过上述操作可以到达的状态数,你可以进行任意次操作,答案对 998244353 998244353 998244353 取模.

    题解:CF1545B AquaMoon and Chess 题解

    思路:注意到只有 11 11 11 可以移动,孤立的 1 1 1 是随着 11 11 11 的移动而移动的,且状态只取决于有多少个 11 11 11 移动过及移动方向,因此只关注 11 11 11 的位置状态。每一次移动 11 11 11 相当于一个 11 11 11 和一个 0 0 0 交换位置,因此答案为 C c n t 11 + c n t 0 c n t 0 C_{cnt_{11}+cnt_{0}}^{cnt_0} Ccnt11+cnt0cnt0

    AC代码:https://codeforces.com/contest/1546/submission/178760009

  • 相关阅读:
    一周活动速递|Paper Time第五期;技术征文大赛即将收官
    Event loop事件循环
    linux自定义命令-通过关键字批量杀死进程
    监控搭建-Prometheus
    苹果笔的代替笔有哪些?Ipad好用电容笔测评
    ​Base64编码知识详解 ​
    BWO白鲸优化算法
    Mysql进阶
    3.5、Linux:命令行git的使用
    参加了个算法比赛,真是一言难尽啊
  • 原文地址:https://blog.csdn.net/weixin_51948235/article/details/127634638