倍增
文章平均质量分 67
Mychael
蒟蒻一枚QAQ
展开
-
BZOJ1787 [Ahoi2008]Meet 紧急集合 【LCA】
1787: [Ahoi2008]Meet 紧急集合Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 3578 Solved: 1635[Submit][Status][Discuss]DescriptionInputOutputSample Input6 41 2 2 3 2原创 2017-12-09 13:40:36 · 192 阅读 · 0 评论 -
LCA的倍增算法
LCA,即树上两点之间的公共祖先,求这样一个公共祖先有很多种方法:暴力向上:O(n)每次将深度大的点往上移动,直至二者相遇树剖:O(logn)在O(2n)预处理重链之后,每次就将深度大的沿重链向上,直至二者在一条链上tarjan_lca:离线O(n+m)先记录所有的询问,对树进行一次dfs,对于搜索到的点u,先将点u往下搜,再将点u与父节点所在集合合并,之后对于它的所有询问原创 2017-10-15 18:18:28 · 2603 阅读 · 6 评论 -
BZOJ2588 Count on a tree 【树上主席树】
2588: Spoj 10628. Count on a treeTime Limit: 12 Sec Memory Limit: 128 MBSubmit: 7577 Solved: 1852[Submit][Status][Discuss]Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和原创 2017-12-03 08:39:18 · 220 阅读 · 0 评论