Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<set>#include<algorithm>#include<vector>char str1[10005];char str2[1000005];int next[10005];void get_next(char str[],int n){int i=0,j=-1;next[0]=-1;while(i<=n){if(j==-1||str[i]==str[j])next[++i]=++j;elsej=next[j];}}int solve(int n,int m){int i=0,j=0;int ans=0;while(i<n&&j<m){if(j==-1||str2[i]==str1[j]){i++;j++;