期末考完复健,补一下一个月前打的ARC
当时赛后9秒过D,太痛了,第一次体验这种
只能说,幸好当时要打的时候感觉状态不行,就unrated了
比赛的状况是:A不知道哪错了;C不会;D博弈DP原本状态假了,想到用容斥改对,但总觉得有些奇怪不太敢写,最后才莽了一下,发现真是对的,但写的比较暴力,赛后9秒才改对。。。
A
B
C
感觉是目前遇到的最难的ARC的C题
赛后想了下,得到的结论是:
记奇数为1,偶数为0
情况1:A只要有连续三个数恰好有两个1
,整个序列就可以任意重排;
情况2:否则只能把每段连续的长度大于2的0的重排。
实际上前者很假,因为两个相邻/只隔一个0
的1没法换到隔多个0
,即情况1没法变成情况2。从宏观一点的角度考虑,交换的操作是可逆的,上述情况2没法变成情况1,反之亦然。那么只有A和B是同种情况时可能是Yes,而都是情况2是好判的。
对于都是情况1,考虑能交换成什么:1之间可以通过一个0实现相对顺序任意排列;1和0之间的相对顺序也可以任意排列;对于0之间,通过上述操作可以换成连续一段,那么就是个数大于2即可任意排列。
于是就判断A和B的元素是否相同,以及如果恰有两个0,它们的相对顺序要相同。