![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
~图
Dkumr
这个作者很懒,什么都没留下…
展开
-
hdu1232(并查集)
并查集是一个简单而又有效的算法,代码实现起来也挺简单的。。。。 基本的实现代码如下面所示,不明白的可以参考链接https://blog.csdn.net/niushuai666/article/details/6662911 直接用代码解释吧。。。 用hdu1232解释吧。 void init(int x) //初始化,相当于一开始每个城市一个整体,没有道路跟它相连 { ...原创 2018-09-11 22:22:39 · 263 阅读 · 0 评论 -
巧妙的利用数组来构造邻接表
注意pre数组保存的是边而不是点。。切记。。 不懂的话画个图就会好理解多了。。挺巧妙的一个方法。。 const int maxn = 1005; int pre[maxn]; int cnt = 0; memset(pre, -1, sizeof(-1)); //初始化pre数组 struct Node { int to, next; //to是终点,next是要连接的下一条边 }nod...原创 2019-03-17 21:37:33 · 266 阅读 · 0 评论 -
求树的直径
树的直径 **定义:**树的直径(Diameter)是指树上的最长简单路。 **直径的求法:**两遍搜索 (BFS or DFS) 任选一点 w 为起点,对树进行搜索,找出离 w 最远的点 u。 以 u 为起点,再进行搜索,找出离 u 最远的点 v。则 u 到 v 的路径长度即为树的直径。 简单证明: 如果 w 在直径上,那么 u 一定是直径的一个端点。反证:若 u 不是端点,则从直径另一端点到 ...原创 2019-03-13 19:30:21 · 273 阅读 · 0 评论