单词提取

测试数据来自 system/3063

作业已超过截止时间,您无法递交本题目。

单词提取

时间限制:1秒  内存限制:256M


【问题描述】

  有两个文本串 \(S\) 和 \(T\),它们均是仅包含英文字母的字符串。

  现在要从文本串 \(S\) 中取出 \(K\) 个单词(非空子串),且单词之间不能有重叠部分,然后把这 \(K\) 个单词按照在文本串 \(S\) 中出现的顺序依次连接起来得到一个新的文本串,那么有多少种方法可以使得这个文本串与 \(T\) 相等?

  注意:只要单词提取的位置不同,就会认为是不同的方案。

【输入格式】

  第一行是一个正整数 \(K\),表示要提取的单词数量。接下来的两行分别是文本串 \(S\) 和文本串 \(T\)。文本串中仅含英文字母,没有其他符号。

【输出格式】

  输出一个整数,表示所求方案数。答案可能很大,输出对 1,000,000,007 取模的结果。

【输入输出样例1】

 Input

2 
AACCACA
ACAC

 Output

3

【样例1说明】

  三种提取方法如下,红色下划线的部分表示提取的单词:
说明

【输入输出样例2】

 Input

3 
hhbhhb 
hhb

 Output

7

【数据限制】

  下面的 \(|S|\) 表示文本串 \(S\) 的长度,\(|T|\) 表示文本串 \(T\) 的长度。
  对于 \(30\ %\) 的数据满足:\(|S|≤500\),\(|T|≤50\),\(1≤K≤2\);
  对于 \(70\ %\) 的数据满足:\(|S|≤500\),\(|T|≤50\),\(1≤K≤|T|\);
  对于 \(100\ %\) 的数据满足:\(|S|≤1000\),\(|T|≤200\),\(1≤K≤|T|\);

【来源】

  Mr.he

匹配类动态规划练习题

未认领
状态
已结束
题目
10
开始时间
2025-03-14 00:00
截止时间
2025-04-19 23:59
可延期
24.0 小时