P17236 『STA - R10』刷墙墙刷

题目背景

爱丽丝是一只喜欢对称的兔子。 现在她钦定你去帮忙刷墙。 ![](https://cdn.luogu.com.cn/upload/image_hosting/h8o2uesf.png) 现在有一面墙,用字符串 $a$ 来表示每个位置的颜色。 期望达到的效果用字符串 $b$ 来表示。字符集为小写字母。 你可以进行任意多次操作,每次选定 $a$ 的一个长度为 $L$ 的子区间和一个长度为 $L$ 的字符串 $c$,将该区间赋值为 $c$。 出于效率考虑,你选定的 $L$ 必须 $\ge 3$。 出于对称考虑,你选定的字符串必须是奇数长度的回文串。 如果你能完成这项任务,就可以获得 $220$ 菲林的奖励! 爱丽丝确定好了一些位置的颜色,没确定的用 `?` 标注。你想知道有多少种可能的 $b$ 的取值使得你可以获得菲林。 爱丽丝提醒你这个数字太大了。所以你决定对 $998244353$ 取模。

题目描述

形式化题意: 规定字符集为小写字母。 对于给定的长度为 $n$ 的字符串 $a, b$,定义一次操作为,选定 $a$ 的一个长度为奇数且 $\ge 3$ 的子区间 $[l, r]$,将其赋值为一个回文串。 若 $a$ 可以经过有限次操作变成 $b$,则称 $a$ 是好的。 现在给定一个 $a$ 和一个含有小写字母和 `?` 的 $b$(注意 `?` 的个数可以是 $[0, n]$ 中的任意一个整数),若 $b$ 中的 `?` 可以取任意小写字母,有多少种可能的取值使得 $a$ 是好的? 输出答案对 $998244353$ 取模的结果。

输入格式

第一行一个正整数 $n$,表示字符串长度。 第二行一个长度为 $n$ 的字符串 $a$,只含有小写字母。 第三行一个长度为 $n$ 的字符串 $b$,只含有小写字母和 `?`。

输出格式

一行一个整数,方案数对 $998244353$ 取模的结果。

说明/提示

**本题采用捆绑测试**。 ::cute-table{tuack} | Subtask | $n\le$ | 特殊性质 | 分值 | |:-:|:-:|:-:|:-:| | $1$ | $5$ | 无 | $10$ | | $2$ | $10^5$ | $b$ 中只包含小写字母| $10$ | | $3$ | $10^5$ | $b$ 中只包含 `?` | $20$ | | $4$ | $2 \times 10^3$ | 无 | $20$ | | $5$ | $10^6$ | 无 | $40$ |