一个巧妙地处理一类数据结构需要支持删除(也就是修改操作只会在某一段时间内产生影响),且可以离线问题的算法
Algorithm
可以发现,如果用来维护答案的数据结构支持删除的话,就可以直接做了
但如果这个数据结构不支持删除,只能撤销操作,就可以考虑线段树分治
考虑按时间建线段树,即线段树的下标为时间
那么先把所有操作在线段树上拆开打标记,可以发现每个操作最多打log个标记
最后在线段树上dfs,遇到标记的话就修改,离开时撤销
到达叶子时就能处理叶子所在时间的答案了
这个东西的本质就是一个数据结构在线段树所形成的dfs树上跑,而dfs树也就相当于一个栈,于是就只需要撤销,能巧妙地代替删除操作