#AT2456. D - Match or Not
D - Match or Not
D - 匹配还是不匹配
得分 : $ 400 $ 分
问题描述
给定由小写英文字母和?
组成的字符串 $ S $ 和 $ T $。其中,保持 $ |S|> |T| $ (对于字符串 $ X $,$ | X | $ 表示 $ X $ 的长度)。
- 使用任意字母独立地 取代 $ X $ 和 $ Y $ 中的每个 $ X $ 和 $ Y $ 中的
?
,可以使 得 $ X $ 和 $ Y $ 相等。
对于 $ x = 0,1,\ldots,| T | $ 解决问题的以下问题:
- 令 $ S' $ 是通过连接 $ S $ 前 $ x $ 个字符和后半部分 $ S $ 的最后 $(| T |-x)$ 个字符而获得的长度为 $ | T | $ 的字符串。如果 $ S' $ 和 $ T $ 匹配,则打印
Yes
,否则打印No
。
约束
- $ S $ 和 $ T $ 是由小写英文字母和
?
组成的字符串。 - $ 1 \leq |T| \lt |S| \leq 3 \times 10^5 $
输入
从标准输入以以下格式给出:
输出
打印 $(| T | +1)$ 行。
第 $ i $ 行应包含 $ x=i-1 $ 的答案。
a?c
b?
Yes
No
No
当 $ x = 0 $ 时, $ S' $ 等于 ?c
。我们可以将 $ S' $ 的第一个字符,?
,替换为 b
,将 $ T $ 的第二个字符,?
,替换为 c
,使得 $ S' $ 等于 $ T $,所以 $ S' $ 和 $ T $ 匹配。因此,应在第一行打印Yes
。
当 $ x=1 $ 和 $ 2 $ 时, $ S' $ 分别是 ac
和 a?
,而这两个字符串都无法与 $ T $ 匹配。因此,第二行和第三行应分别打印No
。
atcoder
?????
Yes
Yes
Yes
Yes
Yes
Yes
beginner
contest
No
No
No
No
No
No
No
No
相关
在下列比赛中: