随笔分类 -  数据结构—主席树

摘要:#6073. 「2017 山东一轮集训 Day5」距离 链接 分析: 询问$\sum\limits_{i \in path(u,v)} dis(p_i, k)$,将前面的路径转化一下,分别求$path(u,root), path(v,root), path(lca, root), path(lca, 阅读全文
posted @ 2019-03-28 22:41 MJT12044 阅读(306) 评论(0) 推荐(0)
摘要:4539: [Hnoi2016]树 链接 分析: 主席树+倍增。 代码: 阅读全文
posted @ 2019-03-11 22:38 MJT12044 阅读(129) 评论(0) 推荐(0)
摘要:P3302 [SDOI2013]森林 链接 分析: 每个点建立从当前点向根的主席树,那么可以查询了。 考虑修改,启发式合并! 开O2才能过。。。 代码: 阅读全文
posted @ 2019-01-31 12:38 MJT12044 阅读(160) 评论(0) 推荐(0)
摘要:2653: middle 链接 分析: 二分答案+主席树。 对于中位数的经典做法,就是二分一个数,将小于的变成-1,大于等于的变成+1,那么如果sum>=0(因为+1包括等于),L=mid+1,否则R=mid-1。 那么考虑二分一个中位数(当然只二分出现过的数即可),然后向上面一样判断。 因为二分的 阅读全文
posted @ 2019-01-20 17:54 MJT12044 阅读(199) 评论(0) 推荐(0)
摘要:3653: 谈笑风生 链接 分析: $ans = min(deep[x] - 1, k) * siz[x] - 1 +\sum\limits_{y是u子树内的点}(siz[y] - 1)$ 前面的可以$O(1)$算,后面的那一部分可以dfs序+主席树维护。 或者dfs的过程中+线段树合并。或者长链剖 阅读全文
posted @ 2019-01-18 16:29 MJT12044 阅读(175) 评论(0) 推荐(0)
摘要:3551: [ONTAK2010]Peaks加强版 https://www.lydsy.com/JudgeOnline/problem.php?id=3551 分析: kruskal重构树 + 倍增 + 主席树。 首先建立kruskal重构树,那么查询就变成了,在kruskal重构树上找倍增找到最上 阅读全文
posted @ 2018-09-19 16:54 MJT12044 阅读(261) 评论(0) 推荐(0)
摘要:4299: Codechef FRBSUM https://www.lydsy.com/JudgeOnline/problem.php?id=4299 分析: 主席树。 https://blog.sengxian.com/solutions/bzoj-4408 代码: 阅读全文
posted @ 2018-07-24 17:01 MJT12044 阅读(220) 评论(0) 推荐(0)
摘要:1926: [Sdoi2010]粟粟的书架 https://www.lydsy.com/JudgeOnline/problem.php?id=1926 分析: 二分 前缀和 主席树。 分成两问做,第一问预处理一个前缀和val[i][j][k],矩阵左上角(1,1),右下角(i,j),大于等于k的和, 阅读全文
posted @ 2018-07-24 14:13 MJT12044 阅读(225) 评论(0) 推荐(0)
摘要:Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13726 Accepted Submission(s): 4160 Pr 阅读全文
posted @ 2018-02-11 16:30 MJT12044 阅读(173) 评论(0) 推荐(0)