主席树
芋智波佐助
菜鸟一只
展开
-
HDU 4348 To the moon 主席树成段更新
对于成段更新,以前都是访问到懒惰标记的节点然后向下更新,这次学了一个新的方法,遇到懒惰节点不向下更新,而是从根节点开始累加所有的标记值。 #include #include #include using namespace std;typedef __int64 LL;const int maxn = 200010;int ls[maxn*20], rs[maxn*原创 2016-07-11 09:35:54 · 333 阅读 · 0 评论 -
ZOJ 2112 Dynamic Rankings 树状数组套主席树 动态第K大
动态求区间第K大,有修改操作,用树状数组求和,此外在ZOJ可能会超内存,参考了kuangbin巨巨,建树和修改分开来操作,建树用静态前缀和,修改用树状数组,每次求和2部分相加。#include #include #include using namespace std;const int maxn = 60010;const int maxm = 2500010;int原创 2016-07-08 09:58:08 · 515 阅读 · 0 评论 -
SPOJ 3267. D-query 主席树
询问一段区间有多少个不同的数,用一个map维护数的位置,然后就是主席树基本应用。 #include #include #include #include using namespace std;const int maxn = 30010;int ls[maxn*20], rs[maxn*20], sum[maxn*20];int T[maxn], tot;原创 2016-07-08 10:00:49 · 470 阅读 · 0 评论