每日一题冲刺大厂提高组第八天 栗酱的数列

简介: 大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题提高组是为了有余力的同学准备的,让大家练到各种各样的题目,一年以后,蜕变成为一个不一样的自己!

今日题目:栗酱的数列


题目描述


栗酱有一个长度为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数列中的数。


输出描述:


每一组数据输出一行,满足条件的连续子序列数量。


题目分析


题目难度:⭐️⭐️⭐️


题目涉及算法:kmp。


ps:有能力的小伙伴可以尝试优化自己的代码或者一题多解,这样能综合提升自己的算法能力


题解报告:


1.思路


这题考的是KMP,还是很明显的,大家根据题意来套板子就好了,什么?没有学过kmp?赶紧去学!


2.代码


#include<bits/stdc++.h>
using namespace std;
const int N = 200001;
int a[N],b[N];
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,m,k;
        cin>>n>>m>>k;
        for(int i=0;i<n;i++)
        {
          cin>>a[i];
    }
        for(int i=0;i<m;i++)
        {
          cin>>b[i];
    }
        int sum=0;
        for(int i=0;i<=n-m;i++)
        {
            int z=0,flag=0;
            int num=(a[i]+b[z])%k;
            for(int j=i;j<i+m;j++)
            {
                if((a[j]+b[z])%k!=num)
                {
                    flag=1;
                    break;
                }
                z++;
            }
            if(!flag)
            {
        sum++;
          }
    }
        cout<<sum<<endl;
    }
    return 0;
}


目录
相关文章
|
6月前
|
安全 前端开发
|
9月前
|
Java
技术经验分享:hdu3549初试最大流问题
技术经验分享:hdu3549初试最大流问题
30 0
|
10月前
蓝桥备战--分糖果OJ2928 贪心 分类讨论
蓝桥备战--分糖果OJ2928 贪心 分类讨论
104 0
|
10月前
蓝桥备战--纪念品分组OJ532,贪心证明
蓝桥备战--纪念品分组OJ532,贪心证明
37 0
|
10月前
|
算法 Java
算法编程(十八):汇总区间
算法编程(十八):汇总区间
70 0
|
算法
每日一题冲刺大厂第十七天 逆序对
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
305 0
|
机器学习/深度学习 存储 测试技术
蓝桥杯冲刺-倒数第八天-省赛题
蓝桥杯冲刺-倒数第八天-省赛题
140 0
|
算法
【递归与递推】洛谷[NOIP2002 普及组] 过河卒
前言 本题来自洛谷P1002. 题目链接:[NOIP2002 普及组] 过河卒 - 洛谷
261 0
|
算法
每日一题冲刺大厂第十五天提高组 模
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题提高组是为了有余力的同学准备的,让大家练到各种各样的题目,一年以后,蜕变成为一个不一样的自己!
94 0
|
机器学习/深度学习 算法
每日一题冲刺大厂第十一天提高组 归零
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题提高组是为了有余力的同学准备的,让大家练到各种各样的题目,一年以后,蜕变成为一个不一样的自己!
138 0