当前位置:首页 > 题解目录 > 正文内容

【题解】字符串

亿万年的星光4年前 (2022-04-02)题解目录1917

【题目描述】

Kri 非常喜欢字符串,所以他准备找 t组字符串研究。 第 i次研究中, Kri 准备了两个字符串S 和R ,其中S 长度为n ,且只由  0 , 1 , -  三种字符构成 (注:这里的第三种字符是减号), R初始时为空 。 

每次研究,Zay 会带着一个美丽的长度为 m的字符串T 来找 Kri 玩,Kri 非常羡慕 Zay 拥有如此美丽的 字符串,便也想用字符串S 和R 变出字符串T 。 

具体地, Kri 将会进行 n次操作。每次操作中, Kri 会取出S 的第一个字符(记为c ),并将其从 S中 删去。如果 - ,则 Kri 要删去R 的开头字符或结尾字符(数据保证删去后 R不为空)。否则, Kri 会将 c加入到R 的末尾。

 当进行完所有操作后, Kri 会检查R 是否和T 相等。如果R=T , Kri 就会感到开心;否则, Kri 会 感到难受。

 请问在每次研究中, Kri 有多少种操作方式使自己最后感到开心?我们定义两种方案不同,当且仅当在 某种方案的某次操作中, Kri 删去了 R的开头字符。而在另一种方案的这次操作中, Kri 删去了R 的结 尾字符。

 由于答案可能很大,你只需要输出答案除以1,000,000,007 (即109+7 )的余数。

【输入描述】

第一行一个正整数 t。 

接下来t 组数据分别表示 t次字符串的研究,对于每组数据:

 第一行有两个正整数n,m ,分别表示字符串S,T 的长度。 

第二行是字符串 S。 

第三行是字符串 T。

【输出描述】

共t 行,第 i行表示第 i组研究的答案。

【样例输入】

3
6 2
10-01-
01
7 3
010-1-1
101
6 4
111-00
1100

【样例输出】

2
1
2`-1

【样例解释】

对于第一组数据,有以下两种方案: 

第一个 - 删 R的开头,第二个 - 删R 的结尾。

 第一个 - 删R 的结尾,第二个 - 删R 的开头。

【数据范围】

对于20%的数据,n,m<=15 。 

对于30 的数据, n,m<=30。 

对于 70%的数据,n,m<=80 。 

对于另10% 的数据, 保证答案不超过1 。 

对于100% 的数据,1<=t<=5,  1<=n,m<=400 。

扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

八皇后2

【题目描述】会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8...

【题解】冒泡排序计数

【题目描述】考虑冒泡排序的一种实现。bubble-sort  (A[],  n)>   round  =  0>   while...

【题解】找零钱—动态规划

给定一些人民币的面额,数量不限,要求找出金额为m元且人民币张数最少的方案。这个问题既可以是一个贪心问题也可以是一个动态规划的问题。对于现行的人民币面额:1、2、5、10、20、50、100,我们找任何...

【题解】均分蛋糕

【题解】均分蛋糕

【题目描述】小明的生日要到了!根据习俗,他需要将一些派分给大家。他有 N 个不同口味、不同大小的派。有 F 个朋友会来参加我的派对,每个人会拿到一块派(必须一个...

【题解】柠檬水找零

【题目描述】在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你...

【题解】感应门

【题目描述】感应门会在有人经过的时候自动打开,冷却d 秒后自动关闭。如果有人在感应门打开的状态下通过,那么冷却时间会重置,重新冷却d秒后再关闭。在一段时间内,有 n个人陆续通过了感应门,他们...