慄醬的數列

2021-10-20 16:26:44 字數 922 閱讀 3291

慄醬有乙個長度為n的數列a,乙個長度為m的數列b,現在詢問a中有多少個長度為m的連續子串行a』,

滿足(a』1+b1)%k = (a』2+b2)%k = …… = (a』m + bm)%k。

輸入描述:

第一行乙個數t,表示有t組資料。

對於每組資料,

第一行三個整數,n, m, k。

第一行輸入n個數, a1,a2,…,an, 表示a數列中的數,

第二行輸入m個數, b1,b2,…,bm, 表示b數列中的數。

輸出描述:

每一組資料輸出一行,滿足條件的連續子串行數量。

示例1輸入

23 2 5

7 8 7

8 73 2 5

7 8 9

8 7輸出12

備註:t≤15,

2≤m≤n≤2×105,

1≤ai,bi,k≤109

#include

using

namespace std;

typedef

long

long ll;

inline ll read()

while

(ch>=

'0'&&ch<=

'9')

return f*x;

}int a[

200100

],b[

200100

],s[

200100

],t[

200100

],n,m,k,nxt[

200100];

void

getnext()

intkmp()

return ans;

}int

main()

return0;

}

牛客 慄醬的數列

慄醬有乙個長度為n的數列a,乙個長度為m的數列b,現在詢問a中有多少個長度為m的連續子串行a 滿足 a 1 b1 k a 2 b2 k a m bm k。第一行乙個數t,表示有t組資料。對於每組資料,第一行三個整數,n,m,k。第一行輸入n個數,a1,a2,an,表示a數列中的數,第二行輸入m個數,...

牛客網 慄醬的數列 kmp

解題思路 其實一開始我只想到了暴力的方法,複雜度mn.後來網上找了題解 發現竟然還可以用kmp做,因為題目要求 a 1 b1 k a 2 b2 k a m bm k。那麼可以改造一下,變成 a2 a1 b2 b1 k 0,這樣就有可比性了。分成 a2 a1 項和 b2 b1 項,這種形式之和自己陣列...

慄醬的異或和

多組資料,資料第一行t表示資料組數。每組資料第一行乙個n,k表示一共有n堆石子,接下來你試圖從第k堆開始取,從第二行開始,每隔乙個空格乙個第i堆石子的數量ai。n 105,ai 109輸出 yes 或 no 代表從該堆開始取是否可以必勝 如果足夠聰明 示例1複製 2 3 21 2 3 2 12 1複...