CF808G Anthem of Berland
题目描述
Berland 拥有悠久而辉煌的历史。为了让年轻一代更加了解这些历史,Berland 国王决定谱写一首国歌。
虽然 Berland 历史上有许多胜利,但其中有一场最为辉煌。国王希望在国歌中尽可能多地提及这场胜利。
国王已经谱写好了国歌的大部分,现在只需要填写一些字母。国王请求你帮助完成这项工作。
国歌由一个只包含小写英文字母和问号的字符串 $s$ 构成(长度不超过 $10^5$)。最辉煌的胜利由字符串 $t$ 表示(长度不超过 $10^5$)。你需要将字符串 $s$ 中所有的问号替换为小写英文字母,使得字符串 $t$ 在字符串 $s$ 中出现的次数最大。
注意,字符串 $t$ 在 $s$ 中的出现可以重叠。请参考第三个样例进行理解。
输入格式
第一行包含一个只由小写英文字母和问号组成的字符串 $s$($1 \le |s| \le 10^5$)。
第二行包含一个仅由小写英文字母组成的字符串 $t$($1 \le |t| \le 10^5$)。
字符串 $s$ 和 $t$ 的长度乘积不超过 $10^7$。
输出格式
输出在将字符串 $s$ 中所有问号用小写英文字母替换后,字符串 $t$ 在 $s$ 中最多能出现多少次。
说明/提示
第一个样例中,最终的字符串 $s$ 为 "winlosewinwinlwinwin"。
第二个样例中,最终的字符串 $s$ 为 "glorytoreorand",字符串最后一个字母可以任意替换。
在第三个样例中,字符串 $t$ 的出现是重叠的。使字符串 $t$ 出现次数最多的 $s$ 是 "abcabcab"。
由 ChatGPT 5 翻译