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

【题解】字符串

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

【题目描述】

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 。

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

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

    分享给朋友:

    相关文章

    进制转换(1)

    【题目描述】毛毛是个健忘的孩子,编程课上老师刚讲过进制转换的问题,她又忘了。请你帮他编写一个程序,完成一个浮点数与二进制之间的相互转换【输入描述】两个数字,第一个数字表示要转换的数字,浮点型。第二个是...

    【题解】大整数乘法

    【题目描述】求两个不超过200位的非负整数的积。【输入描述】有两行,每行是一个不超过200位的非负整数,没有多余的前导0。【输出描述】一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342...

    【题解】冒泡排序计数

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

    【题解】数字的选择

    【题目描述】有n个非负整数,请从这n个非负整数中,选出m个数,在不改变m个数的顺序的情况下,构成一个新数列,要求该数列的中相邻两个数的差值绝对值的和尽可能小。请问,这个最小的差值绝对值的和是多少?比如...

    【题解】最大配对

    题目描述      给出2个序列A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出n个元素进行一一配对(可以不按照原来在...

    【题解】光荣的梦想

    【题目描述】Prince对他在这片大陆上维护的秩序感到满意,于是决定启程离开艾泽拉斯。在他动身之前,Prince决定赋予King_Bette最强大的能量以守护世界、保卫这里的平衡与和谐。在那个时代,平...