做完了老师布置的主席树,总结一下

1.求区间k大值(比k小的个数)

做法:首先建立n个至于线段树

然后按照主席树的方法建立

每次考虑往那一边走

2.查询区间和(区间修改+查询过去)

做法:按照1的做法,只不过多了区间修改

区间修改打lazy标记

3.求区间不同数的个数

做法:在上一次出现的位置标记

然后看看在区间外面标记的点有几个

4.求区间k大值(带修改)

做法:同1

修改的地方用树套数(主席树+树状数组)

然后一个小优化:可以树状数组只是维护修改的状态

posted on 2017-11-30 20:13  宣毅鸣  阅读(185)  评论(0编辑  收藏  举报