思考的角度很妙
题解 #
答案的个数等于有多少个长度为∥S∥+K的字符串T使得S是他的一个子序列。
设Si在T中的下标为a1,a2,…,a∥S∥。为了避免重复,我们在所有可能的a+i中取最小的。不难看出,ai和ai+1之间的字符有 25 种选择,a∥S∥之后的有 26 种可能。
所以我们可以枚举a∥S∥之后的字符的个数,这样在字符选择方面我们有25K−x⋅26x种可能。然后再考虑如何分配K−x个字符,根据插板模型,我们有(∥S∥−1∥S∥−1+k−x)种方式,所以对于每个 x,答案增加25K−x⋅26x⋅(∥S∥−1∥S∥−1+k−x)。
Code #