本文共 839 字,大约阅读时间需要 2 分钟。
暴力。
暴力枚举$S$串的每一个长度为$m$的子串,排序判断即可。
#include #include #include #include #include #include #include #include #include #include #include using namespace std;int n,m;int s[100100];int t[100100];int p[100100];map m1,m2;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&s[i]); int Q; scanf("%d",&Q); while(Q--) { scanf("%d",&m); for(int i=1;i<=m;i++) scanf("%d",&t[i]); sort(t+1,t+1+m); if(m>n) { printf("0\n"); continue; } int ans = 0; for(int i=1;i<=n;i++) { int sz = 0; for(int j=i;j<=i+m-1;j++) sz++, p[sz] = s[j]; sort(p+1,p+1+m); bool suc = 1; for(int j=1;j<=m;j++) { if(p[j] == t[j]) continue; suc = 0; } ans = ans + suc; } printf("%d\n",ans); } return 0;}
转载于:https://www.cnblogs.com/zufezzt/p/6938397.html