CF1682A.Palindromic Indices

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given a palindromic string ss of length nn.

You have to count the number of indices ii (1≤i≤n)(1 \le i \le n) such that the string after removing sis_i from ss still remains a palindrome.

For example, consider ss = "aba"

  1. If we remove s1s_1 from ss, the string becomes "ba" which is not a palindrome.
  2. If we remove s2s_2 from ss, the string becomes "aa" which is a palindrome.
  3. If we remove s3s_3 from ss, the string becomes "ab" which is not a palindrome.

A palindrome is a string that reads the same backward as forward. For example, "abba", "a", "fef" are palindromes whereas "codeforces", "acd", "xy" are not.

给你一个长度为 nn 的回文字符串 ss。

你需要统计满足如下条件的下标 ii(1≤i≤n1 \le i \le n)的个数:从 ss 中删除字符 sis_i 后,所得字符串仍是回文串。

例如,考虑 s=s = "aba":

  1. 若删除 s1s_1,字符串变为 "ba",不是回文串。
  2. 若删除 s2s_2,字符串变为 "aa",是回文串。
  3. 若删除 s3s_3,字符串变为 "ab",不是回文串。

回文串是指正读与反读都相同的字符串。例如,"abba"、"a"、"fef" 是回文串,而 "codeforces"、"acd"、"xy" 不是回文串。

输入格式

The input consists of multiple test cases. The first line of the input contains a single integer tt (1≤t≤103)(1 \leq t \leq 10^3) — the number of test cases. Description of the test cases follows.

The first line of each testcase contains a single integer nn (2≤n≤105)(2 \leq n \leq 10^5) — the length of string ss.

The second line of each test case contains a string ss consisting of lowercase English letters. It is guaranteed that ss is a palindrome.

It is guaranteed that sum of nn over all test cases does not exceed 2⋅1052 \cdot 10^5.

输入包含多个测试用例。输入的第一行包含一个整数 tt (1≤t≤103)(1 \leq t \leq 10^3),表示测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn (2≤n≤105)(2 \leq n \leq 10^5),表示字符串 ss 的长度。

每个测试用例的第二行包含一个由小写英文字母组成的字符串 ss。保证 ss 是一个回文串。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

For each test case, output a single integer — the number of indices ii (1≤i≤n)(1 \le i \le n) such that the string after removing sis_i from ss still remains a palindrome.

对于每个测试用例,输出一个整数——满足条件的下标 ii(1≤i≤n1 \le i \le n)的个数,使得从字符串 ss 中删除字符 sis_i 后,剩余字符串仍为回文串。

输入输出样例

  • 输入#1

    3
    3
    aba
    8
    acaaaaca
    2
    dd

    输出#1

    1
    4
    2

说明/提示

The first test case is described in the statement.

In the second test case, the indices ii that result in palindrome after removing sis_i are 3,4,5,63, 4, 5, 6. Hence the answer is 44.

In the third test case, removal of any of the indices results in "d" which is a palindrome. Hence the answer is 22.

第一个测试用例已在题目描述中给出。

在第二个测试用例中,删除字符 sis_i 后能得到回文串的下标 ii 为 3,4,5,63, 4, 5, 6。因此答案为 44。

在第三个测试用例中,删除任意一个下标对应的字符均得到字符串 "d",而 "d" 是回文串。因此答案为 22。

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

首页