A93244.「ZJOI2017」多项式

NOI/NOI+/CTSC

省选

通过率:0%

时间限制:3.00s

内存限制:512MB

题目描述

九条可怜最近研究了一下多项式在系数模 22 意义下的性质。她发现可以用多项式在模 22 意义下的乘法得到一个很长的字符串:

对于一个 nn 次的系数为 00 或 11 的多项式 f(x)f(x),我们在模 22 意义下计算 g(x)=f(x)mg(x) = f(x)^m,则 g(x)g(x) 为一个 nmnm 次的多项式,它有 nm+1nm + 1 个系数,将这些系数从高位到低位写下来,就可以得到一个长度为 nm+1nm + 1 的 0101 字符串。

例如对于多项式 f(x)=x3+x+1f(x) = x^3 + x + 1,计算 g(x)=f(x)3=x9+x7+x6+x5+x2+x+1g(x) = f(x)^3 = x^9 + x^7 + x^6 + x^5 + x^2 + x + 1,这样我们得到了一个长度为1010 的字符串 10111001111011100111。

现在可怜有一个次数为 nn 的多项式 f(x)f(x),整数 m,L,Rm, L,R 以及一个长度为 KK 的 0101 串 tt。令 ss 为 f(x)mf(x)^m 得到的字符串,s[L,R]s[L,R] 为ss 的第 LL 个字符到第 RR 个字符,可怜想要知道 tt 在 s[L,R]s[L,R] 中出现了多少次。

输入格式

第一行输入一个整数 TT 表示数据组数。

每组数据第一行输入五个整数 n,m,K,L,Rn, m,K, L,R。

第二行输入一个长度为 n+1n + 1 的 0101 串表示多项式 f(x)f(x) 的系数,其中第 ii 位表示 f(x)f(x) 的第 n−i+1n-i + 1 次系数。

第三行输入一个长度为 KK 的字符串表示字符串 tt 。

输出格式

对于每组数据输出一个整数表示答案。

输入输出样例

  • 输入#1

    1
    3 3 2 1 10
    1011
    01

    输出#1

    2

说明/提示

测试点编号 nn mm KK 其他约定
11 ≤18\le 18 ≤500\le 500 ≤18\le 18 无
22 ≤18\le 18 ≤2×105\le 2\times 10^5 ≤18\le 18 无
33 ≤18\le 18 ≤2×105\le 2\times 10^5 ≤18\le 18 无
44 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 R−L≤104R-L\le 10^4
55 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 R−L≤104R-L\le 10^4
66 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 L=1,R=nm+1L=1,R=nm+1
77 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 L=1,R=nm+1L=1,R=nm+1
88 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 L=1,R=nm+1L=1,R=nm+1
99 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 无
1010 ≤18\le 18 ≤1016\le 10^{16} ≤18\le 18 无

对于100%100\% 的数据,保证 1≤T≤51\leq T\leq 5,1≤L≤R≤nm+11\leq L\leq R \leq nm + 1。

输入解题思路,AI测评打分。不知道怎么写?

首页