AT_abc287_d [ABC287D] Match or Not

题目描述

给定由小写英文字母和 `?` 组成的字符串 $S,T$。其中,$|S| > |T|$(对于字符串 $X$,$|X|$ 表示 $X$ 的长度)。 另外,满足 $|X|=|Y|$ 的字符串 $X,Y$,当且仅当满足以下条件时,称为**匹配**: - 可以将 $X,Y$ 中的每个 `?` 独立地替换为任意小写英文字母,使得 $X$ 与 $Y$ 完全相同。 对于 $x=0,1,\ldots,|T|$,请解决以下问题: - 取 $S$ 的前 $x$ 个字符与后 $|T|-x$ 个字符(保持顺序)连接,得到长度为 $|T|$ 的字符串 $S'$。如果 $S'$ 与 $T$ 匹配,则输出 `Yes`,否则输出 `No`。

输入格式

输入以以下格式从标准输入中给出。 > $S$ $T$

输出格式

输出 $|T|+1$ 行。 第 $i$ 行输出对应 $x=i-1$ 的答案。

说明/提示

## 限制条件 - $S,T$ 由小写英文字母和 `?` 组成。 - $1 \leq |T| < |S| \leq 3 \times 10^5$ ## 样例解释 1 当 $x=0$ 时,$S'$ 为 `?c`。此时,可以将 $S'$ 的第 $1$ 个字符的 `?` 替换为 `b`,将 $T$ 的第 $2$ 个字符的 `?` 替换为 `c`,使得 $S'$ 与 $T$ 完全一致,因此 $S'$ 与 $T$ 匹配。所以第 $1$ 行输出为 `Yes`。当 $x=1,2$ 时,$S'$ 分别为 `ac`、`a?`,均无法与 $T$ 匹配,因此第 $2,3$ 行输出为 `No`。 由 ChatGPT 4.1 翻译