
数据结构---主席树
Soar-
这个作者很懒,什么都没留下…
展开
-
POJ - 2104 K-th Number(主席树模板讲解)
题意:主席树模板:给定一个数组,每次查询输入区间[L,R]的第k小的数。题解:主席树理解:如有序列 1 2 5 1 3 2 2 5 1 2我们要求 [5,10]第5小的数(数列中不存在4、6、7、8 但根据原理就都写出来了,为方便理解,去掉了hash的步骤,实际的代码中其实只要一棵4个叶子节点的树即可)(红色的为个数)我们建立的[1, l-1](也就是[1, 4])之间的树为[1, r]也就是[1...原创 2018-05-29 20:00:35 · 168 阅读 · 0 评论 -
ZOJ2112 Dynamic Rankings(动态主席树)
题意:在静态主席树的基础上,增加修改。题解:===在写#include<bits/stdc++.h>using namespace std;const int maxn = 60009;int a[maxn],sor[maxn];int tree1[maxn],tree2[maxn],lson[maxn<<5],rson[maxn<<5],sum[m...原创 2018-05-29 20:00:08 · 245 阅读 · 0 评论 -
D-query SPOJ - DQUERY (主席树 or 树状数组,hash)
题意:给定一数组,查找区间上不同的数种类有多少。题解:好多把这道题看做模板题,但和曾经写过的一道树状数组题很像。这里提供两种解法:主席树解法是记录重复的次数,然后最后总的去减。#include<bits/stdc++.h>using namespace std;const int maxn = 30000+100;const int maxm = 200000+100;co...原创 2018-05-29 20:00:13 · 198 阅读 · 0 评论