主席树
数据结构
Top_xiao
这个作者很懒,什么都没留下…
展开
-
2019 USP-ICMC K. Candies
链接题意:n 个数, 还有 L, R, 问有多少个本质不同的区间和在 L R 之间。思路:先考虑一个问题 , 长度为 n 的字符串, 求本质不同的子串有多少个。n * (n + 1 ) / 2 然后在减去 height[i] , 这种是求总的, 然后减去重复的。sa 代表排名为 i 的子串在的位置, 然后 height[i] 代表排名为 i 的子串和排名为 i - 1 的子串 重...原创 2020-02-22 22:40:19 · 263 阅读 · 0 评论 -
CF Gym ACM Tax (主席树, LCA)
求树上两点间路径上边权的中位数.就是 z = lca(x,y)x y 减去 两倍的 z.#include<bits/stdc++.h>using namespace std;const int N = 5e4+100;int Head[N],Next[N*2],To[N*2],Val[N*2],cnt;int dep[N],f[N][23];int ls[...原创 2019-07-17 20:35:09 · 168 阅读 · 0 评论 -
Luogu P4559 [JSOI2018]列队 (区间问题, 主席树)
题目:https://www.luogu.org/problemnew/show/P4559一句话:教官会指定一个区间[l,r]和集合点K,所有编号在[l,r]内的学生都必须赶到集合点列队。简单来说,就是在主席树中我们要知道 这个区间的学生要向什么方向移动,知道了向什么方向移动就好办了,还要知道这个区间的学生要移动到什么位置.就是一个区间的学生移动到给定的...原创 2019-07-17 09:11:37 · 152 阅读 · 0 评论 -
bzoj 4571: [Scoi2016]美味 (xor主席树)
题意:一家餐厅有 n 道菜,编号 1…n ,大家对第 i 道菜的评价值为 ai(1≤i≤n)。有 m 位顾客,第 i 位顾客的期望值为 bi,而他的偏好值为 xi 。因此,第 i 位顾客认为第 j 道菜的美味度为 bi XOR (aj+xi),XOR 表示异或运算。第 i 位顾客希望从这些菜中挑出他认为最美味的菜,即美味值最大的菜,但由于价格等因素,他只能从第li 道到第 ri 道中选择。...原创 2019-07-18 11:59:26 · 129 阅读 · 0 评论 -
Luogu P4587 [FJOI2016]神秘数 (主席树)
题目描述一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数。例如S={1,1,1,4,13},1 = 12 = 1+13 = 1+1+14 = 45 = 4+16 = 4+1+17 = 4+1+1+18无法表示为集合S的子集的和,故集合S的神秘数为8。现给定n个正整数a[1]..a[n],m个询问,每次询问给定一个区间l,r,求由a[l]...原创 2019-07-16 09:23:16 · 196 阅读 · 0 评论 -
CF813E Army Creation (主席树)
题意:n个数a[i]a[i],qq次询问,n,a[i],q<=105每次问[l,r]内最多可以选多少个数,满足同一个数的出现次数不超过k?思路假设我们想找一个 [l ,r ] 区间内的数,什么时候这个区间里的数是有效的呢?那肯定是这个数 x 出现不超过 k 次,如果超过 k 次就无效了, 也就是说,向前找 和 这个数 x 一样的数,直到向前找k 个,如果这个 数的位置 pos 小...原创 2019-07-18 09:19:16 · 314 阅读 · 0 评论 -
bzoj 3295: [Cqoi2011]动态逆序对 (主席树+树状数组, or CDQ)
Description对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次...原创 2019-03-13 15:27:23 · 212 阅读 · 0 评论 -
bzoj 1146: [CTSC2008]网络管理Network (树上带修改主席树)
Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门。为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络。该网络的结构由N个路由器和N-1条高速光缆组成。每个部门都有一个专属的路由器,部门局域网内的所有机器都联向这个路由器,然后再通过这个通信子网与其他部门进行通信联络。该网络结构保证网络中的任意两个路由器之间...原创 2019-03-04 19:32:48 · 139 阅读 · 0 评论 -
bzoj 1112: [POI2008]砖块Klo 主席树,or set 搞一下。就是中位数。
DescriptionN柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务.Input第一行给出N,K. (1 ≤ k ≤ n ≤ 100000), 下面N行,每行代表这柱砖的高度.0 ≤ hi ≤ 1000000Output最小的动作次数...原创 2019-02-27 10:41:29 · 201 阅读 · 0 评论 -
ZOJ - 2112 Dynamic Rankings (带修改的主席树。)
The Company Dynamic Rankings has developed a new kind of computer that is no longer satisfied with the query like to simply find the k-th smallest number of the given N numbers. They have developed a ...原创 2019-03-02 21:33:57 · 315 阅读 · 0 评论 -
HDU - 5919 Sequence II (主席树,查询区间不同数的个数,查找第 k 大值。)
Mr. Frog has an integer sequence of length n, which can be denoted asa1,a2,⋯,ana1,a2,⋯,anThere are m queries.In the i-th query, you are given two integersliliandriri. Consider the subsequenceal...原创 2019-02-25 10:57:34 · 237 阅读 · 0 评论 -
HDU - 4417 Super Mario (主席树,查找小于等于 k 的数的个数 )
题目大意求区间内小于等于给定的K的数的个数思路:离散化去重之后,用主席树维护权值线段树,查询即可。这个题注意二分的时候边界取值,还有 0 的特判。同样考虑用主席树来维护,每次只需要找到序列b中第一个等于k的数,那么要求的数必定在d[1]~d[upper_bound(k)]这个范围内,接下来就像线段树统计区间个数那样,若完全包含则直接加上e[rr].sum-e[ll]....原创 2018-08-07 20:23:03 · 767 阅读 · 0 评论 -
HDU - 2665 Kth number (主席树,练手题)
题意:求区间第K大。思路:花了一天时间看了主席树。每个点 i 记录1 ~ i 的情况。最后我们查询区间的时候,只要 rt[y] - rt[x-1] 就行。我们每次加数的时候,会就把数 大的放后面,小的放前面。当我们处理到 i 棵树的时候,就加入了 i 个节点。并且在树叶的情况,他们是有序的。主席树,就像树状数组一样,首先,主席树要把数据离散一下,离散成一个 1 ...原创 2018-08-07 17:07:32 · 174 阅读 · 0 评论