CF1867B.XOR Palindromes

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a binary string ss of length nn (a string that consists only of 00 and 11). A number xx is good if there exists a binary string ll of length nn, containing xx ones, such that if each symbol sis_i is replaced by si⊕lis_i \oplus l_i (where ⊕\oplus denotes the bitwise XOR operation), then the string ss becomes a palindrome.

You need to output a binary string tt of length n+1n+1, where tit_i (0≤i≤n0 \leq i \leq n) is equal to 11 if number ii is good, and 00 otherwise.

A palindrome is a string that reads the same from left to right as from right to left. For example, 01010, 1111, 0110 are palindromes.

给你一个长度为 nn 的二进制字符串 ss(即仅由 00 和 11 组成的字符串)。一个数 xx 被称为“好的”,当且仅当存在一个长度为 nn 的二进制字符串 ll,其中恰好包含 xx 个 11,使得将 ss 的每个字符 sis_i 替换为 si⊕lis_i \oplus l_i(其中 ⊕\oplus 表示按位异或运算)后,所得字符串 ss 成为一个回文串。

你需要输出一个长度为 n+1n+1 的二进制字符串 tt,其中 tit_i(0≤i≤n0 \leq i \leq n)等于 11 当且仅当数字 ii 是“好的”,否则为 00。

回文串是指从左到右读与从右到左读完全相同的字符串。例如,01010、1111、0110 都是回文串。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1051 \le t \le 10^5). The description of the test cases follows.

The first line of each test case contains a single integer nn (1≤n≤1051 \le n \le 10^5).

The second line of each test case contains a binary string ss of length nn.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1051 \le t \le 10^5)。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤1051 \le n \le 10^5)。

每个测试用例的第二行包含一个长度为 nn 的二进制字符串 ss。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case, output a single line containing a binary string tt of length n+1n+1 - the answer to the problem.

对于每个测试用例,输出一行长度为 n+1n+1 的二进制字符串 tt —— 即该问题的答案。

输入输出样例

  • 输入#1

    5
    6
    101011
    5
    00000
    9
    100100011
    3
    100
    1
    1

    输出#1

    0010100
    111111
    0011111100
    0110
    11

说明/提示

Consider the first example.

  • t2=1t_2 = 1 because we can choose $l = $ 010100, then the string ss becomes 111111, which is a palindrome.
  • t4=1t_4 = 1 because we can choose $l = $ 101011.
  • It can be shown that for all other ii, there is no answer, so the remaining symbols are 00.

考虑第一个例子。

  • t2=1t_2 = 1,因为我们可选择 $l = $ 010100,此时字符串 ss 变为 111111,这是一个回文串。
  • t4=1t_4 = 1,因为我们可选择 $l = $ 101011。
  • 可以证明:对所有其他 ii,均无解,因此其余符号均为 00。

输入解题思路,AI测评打分。不知道怎么写?

首页