![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
Error Man
我是菜逼
展开
-
南昌网络赛 Distance on the tree(树上主席树,求 路径上边权 小于等于 k 的数量)
题目链接:芝麻开门题意:给你一棵树,有q 个询问,问 u , v 路径上 边权 <= k 的边的数量;思路:用主席树 维护 边权,代表 u 节点 到 根节点的信息,故有 c[lson[u]] + c[lson[v]] - 2 * c[lson[LCA]]; (这个画一画就能理解为什么和点权不一样)代码:#include<cstdio>#include<...原创 2019-05-02 16:51:28 · 414 阅读 · 0 评论 -
SPOJ - COT Count on a tree (主席树,树上第K小)
Count on a treeYou are given a tree withNnodes. The tree nodes are numbered from1toN. Each node has an integer weight.We will ask you to perform the following operation:u v k: ask for the k...原创 2019-04-29 19:38:00 · 190 阅读 · 0 评论 -
HDU 4417(主席树模版题,求区间值 小于等于 k 的个数)
题目链接:芝麻开门题意:给定一个数组,每一次询问 区间 [L,R] 中 值 <= h的个数。思路:开始一直wa,由于自己的query 是用的非递归,考虑掉了 L == R 需要特判的情况。build 以及 update 和 静态主席树无异。查询的时候,如果 X[mid] <= h,ans += 左子树的所有值,然后查询右子树,否则继续查询左子树。最后再特判 L ==...原创 2019-04-26 22:02:23 · 655 阅读 · 0 评论 -
HDU 5678 (dfs序 + 主席树 查询子树中位数)
题目链接:芝麻开门题意:给定一颗有根数,然后有m个询问,对于每个询问,求子树的中位数。最后按要求hash输出答案。思路:对于子树问题,很显然是dfs序,然后就化成了区间第 k 大问题。可以说这个题是 裸的 dfs序 + 裸的主席树有一点需要注意,要提前处理所有子树的答案,因为询问数是1e6,而结点数是1e5,在每个询问中query,会T。贴上代码:#include<bi...原创 2019-04-23 22:19:45 · 1001 阅读 · 0 评论 -
主席树模版,区间第K大(静态不带修改,带修改)简单理解。
//////// 蒟蒟蒟蒟蒟蒟蒟蒟蒟蒟蒟蒟蒟蒻 的博客,有错正常不过了,见谅见谅。主席树模版,静态区间第K大主席树用于解决类似这样的问题。 有一个数组a[],数组大小一般为1e5,有Q个询问,询问个数也是1e5。每一个询问给出三个整数 l,r,k,问从区间 l 到 r 第 k 大的值是多少。需要的前置知识:权值线段树。权值线段树用于解决类似这样的问题。 有一个数组a[...原创 2019-04-23 16:42:30 · 568 阅读 · 1 评论 -
SPOJ - DQUERY 求区间数字种类数(主席树模版)
DQUERY - D-queryGiven a sequence of n numbers a1, a2, ..., anand a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j), you have to return the number of distinc...原创 2019-05-07 16:45:20 · 504 阅读 · 0 评论 -
HDU 6601(2019杭电多校二 1011) Keen On Everything But Triangle(主席树 + 组成三角形相关)
Keen On Everything But TriangleTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 0Accepted Submission(s): 0Problem DescriptionNsti...原创 2019-07-24 18:52:59 · 520 阅读 · 2 评论 -
HDU 6621 (2019杭电第四场 1008) K-th Closest Distance (主席树 + 二分, 求第 k 小绝对值)
K-th Closest DistanceTime Limit: 20000/15000 MS (Java/Others)Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 654Accepted Submission(s): 205Problem DescriptionYou have an...原创 2019-07-31 20:17:21 · 1071 阅读 · 0 评论 -
HDU 4348 To the moon(主席树区间修(加))
To the moon(戳我看题)题意:给你一串序列,每次对它有四种操作, 1. 将l到r之间所有的数+d,同时时间戳+1。 2. 查询当前时间戳下l到r的所有数的总和。 3.查询时间戳d下的l到r的所有数的和。 4.将时间戳返回至t。思路:涉及历史查询,一眼主席树的题目,关键的如何进行区间修改。主席树与线段树不同之处就是 每一棵树是不能修改的,也就是不能够pushDown。那么能否...原创 2019-08-18 10:36:04 · 365 阅读 · 0 评论