===== C ===== 水题一道 ===== D ===== 水题一道 这种关于三个数求最小值,可以要先考虑中间那个。 例如本题,枚举中间那一个,然后在另外两个分别找前驱和后继即可。 ===== E ===== 一般题,想得有点久了。 显然串S不断的填在T中出现的是连续的一段,那我们不妨把T看作一个长度与S相同的串,第m+1到第n位是通配符。 区间的肯定就考虑区间dp,dp[i][j]表示第i位到第j位都匹配好了的方案数, 那么我们就有了dp[i][i]=(i>m || S[1]==T[i])的初始化, 枚举len, 每次往原区间的左边或者右边加一个,如果能匹配上,加上这个dp值即可。 最后答案是$\sum_{i=m}^{n} dp[1][i]$