P12476 [集训队互测 2024] 研心
题目背景
当你看向镜子时,是否会注意到自己背后的事物?我相信大部分人的关注点应该在自己的虚像上。
现在想象一面镜子,你能在镜子中看到自己所有可能的现状或未来,也许某个自己和你的朋友过着差不多的生活。你会在镜子中找到一个向往的自我,也许那是现在的自己,或者是更好的自己。但就如镜中的背景,也有很多的可能性是,其他的自我没有那么幸运,过的更普通,更辛苦。但不变的是,所有的可能性就是你自己。你从最开始便有着一双将可能性化为现实的翅膀。
不要忽略镜中的每一处细节,当你打碎这面镜子时,你会得到一双完整的翅膀。解开一切的束缚,蹬离地面,展翅高飞吧。
题目描述
给定大小为 $n$ 的字符串序列 $S$ 和大小为 $m$ 的字符串序列 $T$,其中 $S$ 的第 $i$ 个字符串为 $S_i$,$T$ 的第 $j$ 个字符串为 $T_j$。
定义一个字符串的权值 $f(s)$ 为 $s$ 中最长奇回文子串的半径长度。例如 `aba` 的半径长度为 $2$,`ababa` 的半径长度为 $3$。
定义两个字符串的加法 $s + t$ 为把两个字符串拼接起来得到的新字符串。
求:
$$\sum_{i=1}^{n} \sum_{j=1}^{m} f(S_i + T_j)$$
输入格式
第一行输入两个正整数 $n,m$。
接下来 $n$ 行,输入 $n$ 个字符串 $S_i$。
再接下来 $m$ 行,输入 $m$ 个字符串 $T_j$。
输出格式
输出一行,表示
$$\sum_{i=1}^{n} \sum_{j=1}^{m} f(S_i + T_j)$$
的值。
说明/提示
### 样例解释
| 回文半径长度 | $T_1$ | $T_2$ | $T_3$ |
| :---: | :---: | :---: | :---: |
| $S_1$ | 1 | 2 | 1 |
| $S_2$ | 2 | 3 | 2 |
| $S_3$ | 2 | 3 | 3 |
### 数据范围
令 $s = \max(\sum |S_i|, \sum |T_i|)$。
本题共有 4 个子任务,只有通过子任务中所有数据才能获得所有分数。
| 子任务编号 | 分数 | 特殊条件 |
| :---: | :---: | :---: |
| 1 | 20 | $s \leq 5000$ |
| 2 | 30 | $n = 1$ |
| 3 | 20 | 保证所有字符在 $\{a, b\}$ 中随机 |
| 4 | 30 | ~~依赖子任务 1, 2, 3~~ 还没配置子任务依赖 |
对于 100% 的数据,满足 $1 \leq n, m, s \leq 4 \times 10^5$,保证输入的字符串只包含小写字母。