题目传送门:https://codeforces.com/problemset/problem/558/E
题目大意:
给定一串长度为\(n\)的小写字母串,有\(m\)个操作,每次操作将区间\([l_i,r_i]\)排序成非升(\(k_i=0\))或非降(\(k_i=1\))序列,输出问\(m\)次操作后的字符串
开26个线段树,每次将\([l_i,r_i]\)中所有的字符统计出来,然后再暴力按顺序插回去(区间覆盖)
每次询问是\(O(26\log^2n)\)的,插入也是\(O(26\log^2n)\)的,共计\(m\)组操作
最后询问的时间复杂度为\(O(26n\log n)\)
故总时间复杂度为\(O(26m\log^2n+26n\log n)\)(反正炸不了)
/*program from Wolfycz*/
#include