标签:
显然hash,然后stl随便搞。
#include<bits/stdc++.h> #define N 100005 using namespace std; typedef unsigned long long ull; map<ull,vector<int> >q; int n,m,k,s,t,v,a[N]; int main(){ scanf("%d%d%d",&n,&m,&k); for(int i=1;i<=n;++i) scanf("%d",a+i); for(int i=k;i<=n;++i){ ull u=0; for(int j=i-k+1;j<=i;++j) u=u*223+a[j]; q[u].push_back(i); } while(m--){ scanf("%d%d",&s,&t); ull u=0; for(int j=k;j--;u=u*223+v) scanf("%d",&v); vector<int>& a=q[u]; puts(lower_bound( a.begin(),a.end(), s+k-1)-upper_bound( a.begin(), a.end(),t)?"No":"Yes"); } }
标签:
原文地址:http://www.cnblogs.com/f321dd/p/5767114.html