![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树上倍增
文章平均质量分 81
glq007
muyou
展开
-
NOIP 2013 货车运输(树上倍增)
题意:n个点,m条边,要求从x到y点路上最小的边权最大的值。 做法:求一次最大生成树,因为对于2个联通块,最大生成树的边一定是最大的,故其他边都可以删去。之后就是一棵树了。可以用树链剖分,不过这里由于只有查询没有修改,故学习了下代码量比较短的树上倍增。其实树上倍增就像区间问题上的RMQ,而树链剖分就像区间问题上的线段树(自认为比喻比较恰当)。 我们用f[i][j]代表i这个点之上2^j个点(不原创 2015-05-20 10:45:53 · 1173 阅读 · 0 评论 -
hdu 5266 pog loves szh III(LCA)
题意:求编号l-r的lca。 做法:第一种方法是维护一个类似rmq的东西,因为abcd的lca,可以由ab的lca和cd的lca的lca得到,然后重叠也没有关系,就比如刚才的例子,abcd的lca也可以由abc的lca和bcd的lca的lca得到,所以我们用类似rmq的查询的就可以了。查询2个点的lca写的是树上倍增。 第二种方法比较容易想到,就是先dfs一遍找出欧拉序列,然后再rmq预处理一原创 2015-06-09 12:11:38 · 724 阅读 · 0 评论