LCA
努力写题的tyf
这个作者很懒,什么都没留下…
展开
-
Tarjan算法离线求LCA
最近学习了Tarjan离线求LCA,写篇博客记录一下: 先贴出来:学习博客(讲的很好很详细~) 1.定义: LCA(Lowest Common Ancestor)最近公共祖先,即树上两个点最新的公共祖先节点 比如:lca(1,4)=1; lca(4,5)=3; lca(2,3)=1; 2.伪码: Tarjan(u){ for each(u,v){//遍历每一个u的...原创 2019-04-15 18:10:10 · 248 阅读 · 0 评论 -
倍增法在线求LCA(详解)
先贴上学习的文章: 洛谷P3379题解1 倍增讲解 在用Tarjan算法求LCA时会出现超时的现象,因为是一层一层的往上跳,于是就有了用倍增法求LCA,是层地往上跳。复杂度:O(nlogn) 1.倍增法思想: 按2的倍数跳,不过是从大到小跳,32,16,8,4,2,1。原因是从小到大跳会出现“悔棋”的现象: 从小到大:5!=1+2+4 从大到小:5=4+1 5<32 (不跳)...原创 2019-04-15 18:50:55 · 1360 阅读 · 1 评论 -
hdu2586 - 倍增LCA
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意: 求树上任意两点的距离 思路: a,b两点的距离=根到a的距离+根到b的距离-2倍根到lca(a,b)的距离 dis[a]+dis[b]-2*dis[lca(a,b)] 代码如下: #include<iostream> #include<cstdio>...原创 2019-04-15 19:04:47 · 164 阅读 · 0 评论 -
“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 - 部分题解
A: 最大下降矩阵 - LIS 时间限制: 1 Sec内存限制: 512 MB 提交: 720解决: 193 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 我们称一个矩阵是下降矩阵,当且仅当,矩阵的每一列都是严格下降的。很显然,这个要求很苛刻,大多数矩阵都无法满足。但是显然如果消去一些行,一定可以使得这个矩阵变成下降矩阵。 现在给出一个n行m列的矩阵,请你求出最少消...原创 2019-04-18 22:29:31 · 751 阅读 · 0 评论