LCA
OriginalRecipe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
高等理论计算机科学 LCA+树上差分(树上的相交路径条数)Hihocoder-1167
题目链接:Hihocoder-1167 主要思路: 多画几棵树可以看出两条路径相交时只有一条路径的LCA落在另一条路径上,故你可以求每个LCA落在几条路径上(若两条路径LCA相同,这时候就会算两遍,故将LCA从路径上剔除,特判即可)。 求每个LCA落在几条路径上就可以用树上差分。 AC代码: #include<cstdio> #include<algorithm>...原创 2018-08-22 13:01:33 · 893 阅读 · 1 评论 -
Duff in the Army 树上倍增+LCA CodeForces - 587C
题目链接:CodeForce _587C 主要思路: 像倍增处理FA数组一样,倍增处理每个节点到其任一一个祖先的所经过的点集。如Po[i][1]表示从i这个点向上走(2^1)-1步所走过的点集。(由于Po[i][0]表示i这个点的点集,故实际意义中2^i要-1)。最后在加上没有加上的点即可。(听不懂可以看代码) #include<cstdio> #include<algo...原创 2018-08-05 11:19:29 · 304 阅读 · 0 评论 -
NOIP 2015 运输计划 二分+差分 || 前缀和O(n)
题目链接:运输计划 主要思路1: (注:以下路径耗时与路径长度是同一回事) 由于本题求的是所有任务中所需时间最长的时间的最小值,故可以想到二分答案。二分所需的最长时间记为lim,check函数就找出所有任务所需时间超过lim的任务。并将其路径用差分在树上标记(区间覆盖-->差分)。不难知道只有让被所有不满足任务路径所覆盖的路变成虫洞才有可能使这个lim可行。故在这种边中找一条最大的边的...原创 2018-09-27 13:13:24 · 400 阅读 · 0 评论
分享