题解 1438: 蓝桥杯2013年第四届真题-大臣的旅费

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯2013年第四届真题-大臣的旅费

摘要:解题思路:求树的直径,在使用等差数列的前n项和得出答案.因为全为正数所以可以跑两边最长路就可以求出,此处给出树上dp参考代码:#include<bits/stdc++.h> using namesp……

两次dfs-大臣的旅费

```cpp#include#includeusingnamespacestd;intn;structroad{intto,len;road(){}road(intt,intl){to=t,len=l;}};vectorv[100010];intd[100010];voiddfs(intdis,
优质题解

✔✔✔ 树的直径问题+DFS求解 [c++]

典型的**树的直径**问题:图中所有最短路径的最大值即为「直径」,可以用两次DFS或者树形DP的方法在O(n)时间求出树的直径。题解以两遍DFS为例**定理:**在一个连通无向无环图中,以任意结点出发所能到达的最远结点,一定是该图直径的端点之一。

蓝桥杯2013年第四届真题-大臣的旅费-题解(C++代码)

解题思路:1.构建图2.dijkstra从任意一个点出发,找到距离这个点最远的点,再从这个点出发,找到一条最长的路3.根据路的长度求出旅费为什么要找到某个点的最远点?而不是从任意的边缘的某个点为起点直接寻找最长路?如图:假如随便找一个边缘的点为起点,