20191110noip2017day2
noip2017day2 100+70+30
T3 LG3960列队
思维
- (把一个区间挪到一个点前) (逆向) 转为(把一个点挪到区间后),把区间修改变为单点修改
- 不存储无用信息,例如本题中未访问的区间
- 观察发现每次变动有影响的点只有当前点,最后一行最后一列的点以及当前这一行的最后一个点,只考虑修改这些点
操作
- 线段树动态开点:一棵1..n+q的线段树,每次查询或修改时再展开,空间复杂度计算qlog(max(n,m)+q)2(每次改两棵树)
- 函数中用多个不同数组完成相同操作,可增加一维,并用now表示现在操作哪一个数组
- 或者用n+1棵splay,初始时每个点维护一个区间,当这个区间l..r中某个数x要修改时再把它拆成三块 l..x-1,x,x+1..r

浙公网安备 33010602011771号