[NOIP2015][DP]子串

【问题描述】有两个仅包含小写英文字母的字符串A和B。

                    现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,

                    请问有多少种方案可以使得这个新串与字符串B相等?注意:子串取出的位置不同也认为是不同的方案。

【输入格式】第一行是三个正整数n,m,k,分别表示字符串A的长度,字符串B的长度,以及问题描述中所提到的k,

                     每两个整数之间用一个空格隔开。第二行包含一个长度为n的字符串,表示字符串A。第三行包含一个长度为m的字符串,表示字符串B。

【输出格式】输出共一行,包含一个整数,表示所求方案数。

                     由于答案可能很大,所以这里要求输出答案对1,000,000,007取模的结果

 

 

题解 https://www.luogu.org/problemnew/solution/P2679

 

上一篇:NOIP2015提高组题解


下一篇:NOIP2015跳石头