[语言月赛 202311] 基因

Luogu
IDLGB3891
Time1000ms
Memory512MB
DifficultyP2
2023O2优化字符串(入门)语言月赛
有一个长度为 $n$ 的字符串 $S$。其只包含有大写字母。 小 A 将 $S$ 进行翻转后,得到另一个字符串 $S'$。两个字符串 $S$ 与 $S'$ 对应配对。例如说,对于 $S=\tt{ATCGT}$,则有 $S'=\tt{TGCTA}$,$S$ 与 $S'$ 进行配对。 对于两个字符串 $S,S'$ 的第 $i$($1 \leq i \leq n$)个字母,配对规则如下: - 定义 $\tt A$ 与 $\tt T$,$\tt C$ 与 $\tt G$ 为可以配对的字母。 - 如果 $S_i$ 与 $S_i'$ 为可以配对的字母,那么该字符串的稳定性增加 $i$。 - 如果 $S_i$ 或者 $S_i'$ 中任意一方出现非 $\tt A,\tt T,\tt C,\tt G$ 的字母,则整个字符串的稳定性将直接为 $0$。 现在给定 $T$ 个字符串 $S$,对每一个字符串,询问若用其翻转再进行配对,其稳定性将如何。 ## Input 第一行输入一个正整数 $T$,表示给定多少个字符串。对于每一个字符串: - 第一行输入一个正整数 $n$,表示字符串的长度; - 第二行输入一个字符串 $S$,表示该字符串。 ## Output 对于每个字符串,输出一行一个整数,表示若用其翻转再进行配对,其稳定性将如何。 [samples] ## Note **【样例解释】** - 对于第一个字符串,$S=\tt{\red{A}TCG\blue{T}}$,$S'=\tt{\red{T}GCT\blue{A}}$。标红色的一组与蓝色的一组为可以配对的字母。它们分别是 $S$ 的第 $1$ 个字母和第 $5$ 个字母,因此稳定性是 $1+5=6$。 - 对于第二个字符串,$S=\tt{\red{A}\blue{C}\red{A}\blue{T}\red{G}\blue{T}}$,$S'=\tt{\red{T}\blue{G}\red{T}\blue{A}\red{C}\blue{A}}$,每个对应位置上的字母都可以配对,因此稳定性是 $1+2+3+\dots+6=21$ - 对于第三条字符串,出现了非 $\tt A,\tt T,\tt C,\tt G$ 的字母 $\tt U$,因此稳定性为 $0$。 **【数据范围】** 对于所有数据,保证:$1\leq T\leq 5$,$1\leq n\leq 10^5$,$S$ 中出现的所有字母保证为大写英语字母。
Samples
Input #1
3
5
ATCGT
6
ACATGT
5
ATCGU
Output #1
6
21
0
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202311] 基因",
    "description": {
      "content": "有一个长度为 $n$ 的字符串 $S$。其只包含有大写字母。 小 A 将 $S$ 进行翻转后,得到另一个字符串 $S'$。两个字符串 $S$ 与 $S'$ 对应配对。例如说,对于 $S=\\tt{ATCGT}$,则有 $S'=\\tt{TGCTA}$,$S$ 与 $S'$ 进行配对。 对于两个字符串 $S,S'$ 的第 $i$($1 \\leq i \\leq n$)个字母,配对规则如下: - 定义",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3891"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "有一个长度为 $n$ 的字符串 $S$。其只包含有大写字母。\n\n小 A 将 $S$ 进行翻转后,得到另一个字符串 $S'$。两个字符串 $S$ 与 $S'$ 对应配对。例如说,对于 $S=\\tt{ATCGT}$,则有 $S'=\\tt{TGCTA}$,$S$ 与 $S'$ 进行配对。\n\n对于两个字符串 $S,S'$ 的第 $i$($1 \\leq i \\leq n$)个字母,配对规则如下:\n\n- 定义...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments