DP NOIP提高組 子串

2022-10-10 09:36:10 字數 574 閱讀 3833

有兩個僅包含小寫英文本母的字串 a和 b。

現在要從字串 a中取出 k個互不重疊的非空子串,然後把這 k個子串按照其在字串 a**現的順序依次連線起來得到乙個新的字串。請問有多少種方案可以使得這個新串與字串 b相等?

注意:子串取出的位置不同也認為是不同的方案。

第一行是三個正整數 n,m,k,分別表示字串 a的長度,字串 b的長度,以及問題描述中所提到的 k,每兩個整數之間用乙個空格隔開。

第二行包含乙個長度為 n的字串,表示字串 a。

第三行包含乙個長度為 m的字串,表示字串 b。

乙個整數,表示所求方案數。

由於答案可能很大,所以這裡要求輸出答案對 1000000007取模的結果。

對於第 1 組資料:1≤n≤500,1≤m≤50,k=1

對於第 2 組至第 3 組資料:1≤n≤500,1≤m≤50,k=2

對於第 4 組至第 5 組資料:1≤n≤500,1≤m≤50,k=m

對於第 1 組至第 7 組資料:1≤n≤500,1≤m≤50,1≤k≤m

對於第 1 組至第 9 組資料:1≤n≤1000,1≤m≤100,1≤k≤m

NOIP2015提高組 子串

noip2015 提高組 day2 t2 有兩個僅包含小寫英文本母的字串 a 和 b 現在要從字串 a 中取出 k 個互不重疊的非空子串,然後把這 k 個子串按照其在字串 a 中出現的順序依次連線起來得到乙個新的字串,請問有多少種方案可以使得這個新串與字串 b 相等?注意 子串取出的位置不同也認為是...

NOIP2015提高組 子串

看到方案數問題直覺就能想到dp,考慮用f i,j,k 表示a 1.i 取k個子串組成b 1.j 的方案數,發現很難轉移,因為不知道之前的方案哪些是還能拼接到結尾的,產生了前效性。考慮加一維,即 a 1.i 取k個子串組成b 1.j 且末尾子串還可以繼續拼接的方案數為 f i,j,k,0 a 1.i ...

NOIP2015提高組 子串 DP

題目描述 有兩個僅包含小寫英文本母的字串 a 和 b。現在要從字串 a 中取出 k 個互不重疊的非空子串,然後把這 k 個子串按照其在字串 a 中出現的順序依次連線起來得到一 個新的字串,請問有多少種方案可以使得這個新串與字串 b 相等?注意 子串取出 的位置不同也認為是不同的方案。簡單dp。狀態表...