做完了老师布置的主席树,总结一下
1.求区间k大值(比k小的个数)
做法:首先建立n个至于线段树
然后按照主席树的方法建立
每次考虑往那一边走
2.查询区间和(区间修改+查询过去)
做法:按照1的做法,只不过多了区间修改
区间修改打lazy标记
3.求区间不同数的个数
做法:在上一次出现的位置标记
然后看看在区间外面标记的点有几个
4.求区间k大值(带修改)
做法:同1
修改的地方用树套数(主席树+树状数组)
然后一个小优化:可以树状数组只是维护修改的状态
做完了老师布置的主席树,总结一下
1.求区间k大值(比k小的个数)
做法:首先建立n个至于线段树
然后按照主席树的方法建立
每次考虑往那一边走
2.查询区间和(区间修改+查询过去)
做法:按照1的做法,只不过多了区间修改
区间修改打lazy标记
3.求区间不同数的个数
做法:在上一次出现的位置标记
然后看看在区间外面标记的点有几个
4.求区间k大值(带修改)
做法:同1
修改的地方用树套数(主席树+树状数组)
然后一个小优化:可以树状数组只是维护修改的状态