![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
ordinarv
努力才是人生的常态
展开
-
SPOJ3267 DQUERY (主席树 求区间内不同数的个数 )
题意: 给定一个含有n个数的序列,有q个询问,每次询问区间[l,r]中不同数的个数。 思路: 从左向右一个一个将该数字处在的位置添加到主席树中 如果该数字前面未出现过,则在此版本的线段树中的该条链加1,如果该数字已经出现过了,则在此版本线段树的上次出现位置减1,再在此版本线段树的该位置加1,这样就能保证区间不重复计算。 #include<bits/stdc++.h> ...原创 2019-08-08 17:49:18 · 242 阅读 · 0 评论 -
主席树入门
第k小 #include<cstdio> #include<vector> #include<algorithm> #include<iostream> using namespace std; const int maxn = 1e5+5; int cnt,root[maxn],a[maxn]; //root[i] 第i课线段树根节点的位置 ...原创 2019-08-07 17:14:45 · 203 阅读 · 0 评论