Codeforces Round #825 (Div. 2)D. Equal Binary Subsequences
题意:
给定一个长度为2n的01字符串s。你可以对其中一个子序列进行向右旋转一个位置。
问能否将字符串分割成两个相等的序列。如果不可以,输出-1,否则,输出你选择旋转的子序列。以及分割后第一个序列的索引。
题解:
有趣的构造,奇偶考虑,如果分成的两个序列,一个全是原来奇数位上的字符,一个全是偶数位上的字符,那么如果两个序列相等,字符串就要满足 \(S_{2n}=S_{sn+1}\) 。
我们目标是操作之后,字符串满足要求
对原来的字符两两匹配,\((2n,2n+1)\) 如果两个相等,就不管,把所有不相等的取出来,就会形如 \((10),(01),(01),(01)\) ,每个对字符中取一个,构成0101交替的序列,即第一对取 0 ,第二对取 1 ,第三对取 0 …。将这个序列进行一次右旋转,则全部的对都变成相同的了。
标签:Binary,01,Equal,Codeforces,Subsequences,序列,2n From: https://www.cnblogs.com/xoslh/p/16784205.html