码迷,mamicode.com
首页 >  
搜索关键字:lca    ( 2392个结果
算法分类整理+模板③:RMQ
最开始是打算以LCA作为第三篇算法整理的,但是由于学习LCA时发现自己的RMQ学习的不够扎实,所以先复习一下RMQ。本文感谢队友某淞的学习笔记。 最初看到RMQ模板的时候感觉好高端,感觉里面的各种数组,位移运算非常复杂。所以对于任何算法的学习我觉得都要分为以下的几步进行: 1、了解这种算法能解决什么 ...
分类:编程语言   时间:2016-05-04 18:40:18    阅读次数:218
ZOJ 3195 LCA转RMQ
点击打开链接 题意:输入n,接下来n-1行,每行a,b,c代表a与b有一条权值为c的边,双向边,m次询问,问最短的距离使a,b,c可以联通 思路:LCA的模版题,没什么好说的,看理论的话网上好多本弱就不说了,代码有注释,有助于理解#include #include #include #include #include #include using namespace std; ty...
分类:其他好文   时间:2016-05-03 18:41:42    阅读次数:185
HDU 2874 LCA转RMQ+并查集
点击打开链接 题意:问两个城市是否相连,不相连输出Not connected,否则输出两个城市间的最短距离 思路:用并查集判断两个城市的连通性,如果联通则做法和LCA一样,但是注意的一点是地图不连通的话,我们要将所有点都建起来,就要加一个模拟的点,将所有图串起来,很好处理的,看一下就会了#include #include #include #include #include #inc...
分类:其他好文   时间:2016-05-03 18:40:47    阅读次数:179
HDU 2586 LCA转RMQ
点击打开链接 题意:就是问两个节点间的距离 思路:又切了一道模版水题,不解释了,看不懂变量含义的可以看我写的这篇,解释的比较详细ZOJ 3195#include #include #include #include #include #include using namespace std; typedef long long ll; const int inf=0x3f3f3f3...
分类:其他好文   时间:2016-05-03 18:39:56    阅读次数:118
HDU 2586 How far away LCA的离线算法 Tarjan
链接: How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11204 Accepted Submission(s): ...
分类:编程语言   时间:2016-05-03 16:17:39    阅读次数:207
POJ 1330
题意:给一个有根树,一个查询节点(u,v)的最近公共祖先; 分析:最基础的LCA ...
分类:其他好文   时间:2016-05-02 15:29:56    阅读次数:122
4月末开坑,4.29-?
4.29(-84) bzoj 3572 世界树,感觉自己从来没有好好写过虚树,不懂单调栈那套理论,在bx2k的启发下知道了一个好写好懂的写法(就是常数大),先对要处理点的dfs序进行排序,然后两两求lca,再对所有数进行排序,感觉这个写法非常资瓷,然后这道题的关键点在于,在一条边上进行二分,好巧妙, ...
分类:其他好文   时间:2016-04-29 21:58:51    阅读次数:114
[BZOJ 2588]Count on a tree
传送门 LCA+主席树(可持久化线段树) 取一个点为根,每棵线段树记录树上节点到根的链上的权在数轴上的分布(当然要离散化), 则对于两个点u,v的路径上的数在数轴上的分布可以表示为tree[u]+tree[v]-tree[lca(u,v)]-tree[fa(u,v)](可以随便画图YY一下), 然后 ...
分类:其他好文   时间:2016-04-28 09:27:54    阅读次数:166
lca
讲得不错的 poj,1330 最近公共祖先的taijan离线算法,一次性批处理,然后再query 注意建边,注意访问,注意基于dfs,注意寻找根节点,并查集的运用; 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 ...
分类:其他好文   时间:2016-04-27 00:03:37    阅读次数:210
Codeforces 418d Big Problems for Organizers [树形dp][倍增lca]
题意: 给你一棵有n个节点的树,树的边权都是1. 有m次询问,每次询问输出树上所有节点离其较近结点距离的最大值。 思路: 1.首先是按照常规树形dp的思路维护一个子树节点中距离该点的最大值son_dis[i],维护非子树节点中距离该点的最大值fa_dis[i]; 2.对于每个节点维护它最大的三个儿子 ...
分类:其他好文   时间:2016-04-25 22:24:44    阅读次数:260
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!