CF519D A and B and Interesting Substrings
题目描述
# A 与 B 与有趣的子串
## 题目大意
给定每个小写字母一个数值,给定一个只包含小写字母的字符串 $s$,求 $s$ 的子串 $t$ 个数,使 $t$ 满足:
- 首尾字母相同,长度大于 $1$。
- 首尾字母除外的其余字母的数值之和为 $0$。
A 与 B 正在为程序设计竞赛做准备。
经历了数年的编程,做了很多需要对各种古怪对象进行计算的题目,A 与 B 也形成了独特的喜好。
A 喜爱小写字母。他给定每个字母一个数值,来描述对这个字母的喜爱程度。
B 喜爱子串。他尤其喜爱首尾字母相同的子串(长度大于 $1$)。
并且,A 与 B 有一个字符串 $s$。他们尝试计算出,字符串 $s$ 的子串 $t$ 的个数,其中 $t$ 是 B 喜爱的(即,$t$ 的首尾字母相同且长度大于$1$),且首尾字母除外的所有字母的数值(由 A 给定)之和等于 $0$。
自然地,A 与 B 很快计算出了他们喜爱的子串 $t$ 的个数。你可以算出吗?
输入格式
第一行包含 $26$ 个整数 $x_{a},x_{b},\dots,x_{z}(-10^{5}\le x_{i}\le 10^{5})$——分别代表给定字母 $a,b,c,\dots,z$的数值。
第二行包含字符串 $s$,其长度在 $1$ 到 $10^{5}$ 之间,只包含小写字母——你需要计算答案的字符串。
输出格式
一行,包含问题的答案。
说明/提示
第一组样例中,满足条件的子串有 $abca$ 与 $bcab$。
第二组样例中,满足条件的子串是两次出现的 $aa$。
Translated by @Capella