各种树
成龙大侠
这个作者很懒,什么都没留下…
展开
-
拓补排序+树的直径
训练题目网址(密码hpuacm2017): https://vjudge.net/contest/244053 记好下面的模板 #include <bits/stdc++.h> using namespace std; const int MAXN = 1000+10; int ma[MAXN][MAXN]; int vis[MAXN]; int n, m; void...原创 2018-08-05 09:26:07 · 185 阅读 · 0 评论 -
图论:最近公共祖先(LCA, Tarjan算法,模板)
关于Tarjan算法的讲解:https://www.cnblogs.com/JVxie/p/4854719.html 重点: 下面详细介绍一下Tarjan算法的基本思路: 1.任选一个点为根节点,从根节点开始。 2.遍历该点u所有子节点v,并标记这些子节点v已被访问过。 3.若是v还有子节点,返回2,否则下一步。 4.合并v到u上。 5.寻找与当前点u有询问关系的点v。 6.若是v...原创 2019-08-08 19:18:48 · 332 阅读 · 0 评论 -
图论:树的直径(邻接表+bfs,模板)
树的直径求法,两边bfs,从任意一个点出发求出最长距离的终点,然后再从终点出发求出新的最长路,就是树的直径了。 #include <bits/stdc++.h> using namespace std; const int N = 10010; typedef pair<int, int> P; // first是下一个点,second是从当前点到下一个点的距离...原创 2019-08-08 09:53:40 · 283 阅读 · 0 评论