
数据结构==主席树
Helium_wild
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU6621(K-th Closest Distance 主席树+二分答案)
题目题意:n个数,m个询问[l,r,p,k] 区间[l,r]最接近p的第k个数。强制在线。思路:每次二分答案mid,查找区间[l,r]里面[p-mid,p+mid]的数>=k right=mid;主席树维护.#include<cstdio>#include<algorithm>using namespace std;struct tree{int l,r...原创 2019-08-02 12:49:35 · 1461 阅读 · 0 评论 -
HDU-6483-A Sequence Game(st+ 莫队/主席树)
题目题意:m次查询区间[l,r]内的数是否连续。本题分为两部分: 1.区间最值(st) 2.区间内不同数的个数(莫队/主席树)我只想说:我的主席树MLE了!!下面那个代码是MLE的!!!(我还有话要说T_T 明天再说)#include<cstdio>#include<cstring>#include<algorithm>#include<i...原创 2019-05-12 22:21:57 · 278 阅读 · 0 评论 -
BZOJ-2809-dispatching(枚举+dfs序建主席树)
题目题意:已知条件:人数,上线薪水m,每一个人都有一个上级,薪水,领导能力。找出一个人,从他所掌管的所有员工里随意选出几个员工,但这些员工的总薪水要<=m,求这个人的领导能力*员工个数的最大值。思路:枚举+dfs序建主席树#include<cstdio>#include<cstring>#include<algorithm>#include...原创 2019-05-12 09:18:57 · 190 阅读 · 0 评论 -
P4179-Peaks(kruskal重构树+倍增+dfs序建主席树)
题目输入样例#1:10 11 41 2 3 4 5 6 7 8 9 101 4 42 5 39 8 27 8 107 1 46 7 16 4 82 1 510 8 103 4 73 4 61 5 21 5 61 5 88 9 2输出样例#1:61-18思路:重构树 倍增找到从v出发走小于x的边可到达的点 这些点都是一个点的子树。倍增找到这个点。一...原创 2019-05-25 00:41:36 · 205 阅读 · 0 评论 -
BZOJ-2588-Count on a tree(树上主席树+LCA模板)
题目Reaper题解: 每个点的前向是它的父亲,建立n(n个节点)的前缀树。ac=lca(x,y),acfa=fa[ac][0];left=sum[t[x].l]+sum[t[y].l]-sum[t[ac].l]-sum[t[acfa].l];也就是 x+y-ac-acfa=x-ac+y-ac+(ac-acfa);Sample Input8 5105 2 9 3 8 5 7 7...原创 2019-05-11 19:18:59 · 159 阅读 · 0 评论 -
HDU-6278-Just h-index(二分+主席树模板)
题目Free the Animal题意:多组样例 n,m;a1,a2,ai…an;m次询问;每次询问是:找到一个最大的 x 使区间[l,r]内的数(ai)>=x的数 的个数>=x;(这个x是任意一个数)思路:low=1,high=r-l+1(一个区间内最多有r-l+1个数)。查询的mid也应该refl一下,mid的范围[0,n]。refl数组也应该加上1-n;(但是这个...原创 2019-05-11 13:59:54 · 149 阅读 · 0 评论 -
P3567-Couriers-(出现的次数大于区间个数的一半==静态第K小主席树模板)
题目假如一个数在区间出现的次数大于一半,第(r-l+3)/2小的一定是这个数,然后只要检测这个数出现的次数是否>一半即可。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=5e...原创 2019-05-08 19:34:21 · 358 阅读 · 0 评论 -
P1487-Query on a tree III(裸dfs序+主席树)
添加链接描述1<=n<=1e5,1<=m<=1e4;输入样例#1:51 3 5 2 71 22 31 43 542 34 13 23 2输出样例#1:5455题解:这个题输出子树第K小这个值对应原数列的哪一个 也就是可通过主席树+dfs序求出ai,但是要输出i。因为要离散化。1-n数组 预处理一下id[dex]=i,dex是指离散化...原创 2019-05-13 22:11:24 · 127 阅读 · 0 评论 -
Inner World (转化成二维问题 dfs序+线段树/主席树(tag))
题目题意: 给你n个数 m次操作 每次操作u v l r 将[l,r]这些树为u添加一个儿子v 题目保证[l,r]中u一定存在。 qq次询问:x l r 问[l,r]这些树中以x为根的树的sz的和。学会主席树处理区间修改 tag问题思路: 看起来好像很复杂的样子。确实。如此傻逼的我当然看不出来怎么写。我好菜哦。。将题目 操作转化为时间[l,r]添加一个v 查询转化为时间[l,r]v的子树大小...原创 2019-08-11 13:29:21 · 217 阅读 · 0 评论