概述
Mr. Frog has two sequences
a1,a2,⋯,an
and
b1,b2,⋯,bm
and a number p. He wants to know the number of positions q such that sequence
b1,b2,⋯,bm
is exactly the sequence
aq,aq+p,aq+2p,⋯,aq+(m−1)p
where
q+(m−1)p≤n
and
q≥1
.
Each test case contains three lines.
The first line contains three space-separated integers 1≤n≤106,1≤m≤106 and 1≤p≤106 .
The second line contains n integers a1,a2,⋯,an(1≤ai≤109) .
the third line contains m integers b1,b2,⋯,bm(1≤bi≤109) .
2 6 3 1 1 2 3 1 2 3 1 2 3 6 3 2 1 3 2 2 3 1 1 2 3
Case #1: 2Case #2: 1
有规律的暴力,直接求答案:
#include <stdio.h> const int maxn = 1e6+5; int a[maxn]; int b[maxn]; int main() { int N; int n , m , p; scanf("%d",&N); int M = N; while(N--) { int sum = 0 , flag; scanf("%d %d %d",&n, &m, &p); for(int i = 0; i < n; i++) scanf("%d",&a[i]); for(int i = 0; i < m; i++) scanf("%d",&b[i]); for(int j = 0; j <= (n - m*p + p - 1); j++) { if(a[j] == b[0]) { flag = 0; for(int k = 1; k < m; k++) { if(b[k] != a[j + k*p]) { flag = 1; break; } } if(flag == 0) sum++; } } printf("Case #%d: %dn",M - N, sum); } return 0; }
最后
以上就是壮观网络为你收集整理的HDU - 5918 Sequence I的全部内容,希望文章能够帮你解决HDU - 5918 Sequence I所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复