D. 回文子串(subpalin)

    传统题 文件IO:subpalin 1000ms 256MiB

回文子串(subpalin)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

众所周知,倒着写和顺着写一模一样的字符串我们称为回文串,例如 tenet\text{tenet}otto\text{otto} 是回文,但 qop\text{qop} 不是。

f(s)f(s) 表示将字符串 ss 变成回文串的最小操作次数,每次操作你可以选择任意一个字符将其替换成任意一个小写英文字母。

例如 f(abc)=1f(\text{abc}) = 1 ,因为只需要将第三个字符改成 a\text{a} 就能变成回文 aba\text{aba}

现在,给定一个字符串 ss ,求它的所有非空子串的 ff 值之和,即

i=1sj=isf(s[i;j])\sum_{i=1}^{|s|} \sum_{j=i}^{|s|} f(s[i;j])

其中 s|s| 表示字符串 ss 的长度,s[i;j]s[i;j] 表示 ss 以第 ii 个字符开始第 jj 个字符结束(包括开始和结束字符)的子串。

输入格式

subpalin.in 文件中读取数据

输入一行字符串 ss

输出格式

将数据输出到 subpalin.out 文件中

输出一个整数表示答案。

abbaa
8
madamineden
116

样例输入输出 3

subpalin3.insubpalin3.out

样例输入输出 4

subpalin4.insubpalin4.out

数据规模与约定

  • 测试点 121-2 满足 1s101 \leq |s| \leq 10

  • 测试点 343-4 满足 1s5001 \leq |s| \leq 500

  • 测试点 585-8 满足 1s40001\leq |s| \leq 4000

  • 测试点 9149-14 满足 1s2×1051\leq |s| \leq 2\times 10^5ss 仅包含 a,b\text{a,b} 两种字符。

  • 测试点 152015-20 满足 1s2×1051 \leq |s| \leq 2\times 10^5

  • 对于所有测试点,保证 ss 仅包含小写英文字母。

CSP-JS模拟赛5

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-10-3 7:00
结束于
2025-10-6 0:00
持续时间
3.5 小时
主持人
参赛人数
12