Problem E: 字符串排序

"
Time Limit $1$ 秒/Second(s) Memory Limit $128$ 兆字节/Megabyte(s)
提交总数 $100$ 正确数量 $69$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 字符串

给定一个长n的字符串a,然后进行k次操作,操作一共有两种。(1,t,x,y)表示将字符串a重置为第t次操作后的状态,然后将a中第x个字符修改为y,(2,t,x)表示将字符串a重置为第t次操作后的状态,然后删除第x个字符,x之后的字符依次向前补齐。假设s1,s2,...,sk为每次操作后得到的字符串,现在要求将这k个字符串进行排序,输出排序结果。


第一行一个整数n,接下来一行给出字符串a。


接下来一行一个整数k,然后是k行,表示k次操作,保证所有操作均合法。

1 <= n <= 2×106 , 1 <= k <= 600

字符串a在任意时刻均只含小写英文字母,并且a不会变为空串。

输出一行n个整数,第i个整数表示字典序第i小的字符串的编号,如果字符串si和sj (i<j)的字典序相同,那么先输出i,后输出j。
3
aca
5
1 0 2 e
1 1 2 c
2 2 1
2 3 1
1 0 2 c
4 2 5 1 3
s1为aea,s2为aca,s3为ca,s4为a,s5为aca