Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <string.h>#define maxcharnum 26const int maxn=1e5+5;const int inf=1e8;char s[maxn];char ans[maxn];//模拟vectorint pos[maxcharnum][maxn];int size[maxcharnum];void solve(){int k;scanf("%d%s",&k,&s);//初始化for(int i=0;i<maxcharnum;i++) size[i]=0;int slen=0;while(s[slen]){int temp=s[slen]-'a';pos[temp][size[temp]++]=slen;slen++;}//inf做收尾限制for(int i=0;i<maxcharnum;i++) pos[i][size[i]++]=inf;int index[maxcharnum];for(int i=0;i<maxcharnum;i++) index[i]=0;int anspos=0,spos=0;