https://vpn.bupt.edu.cn/http/10.105.242.80/problem/p/94/
用set大法写了一堆自己都看不懂的代码, 一提交居然AC了, 一发入魂
堪比DP的set大法
#include <bits/stdc++.h>
#define FF(a,b) for(int a=0;a<b;a++)
#define F(a,b) for(int a=1;a<=b;a++)
#define LEN 510000
#define INF 1000000
#define bug(x) cout<<#x<<"="<<x<<endl;
using namespace std;
char buf[100010];
int main()
{
// freopen("./in","r",stdin);
int N;
scanf("%d",&N);
while(N--){
scanf("%s",buf);
int n;
scanf("%d",&n);
int len=strlen(buf);
set<int> pos[26]; //记录某一字母所在的所有位置
FF(i,len){
pos[buf[i]-'a'].insert(i);
}
while(n--){
char op[20];
char data[20];
scanf("%s%s",op,data);
if(strcmp(op,"INSERT")==0){
buf[len]=data[0];
pos[buf[len]-'a'].insert(len);//维护
len++;
buf[len]=0;
}else{
int p;
int ans;
sscanf(data,"%d",&p);