搜索
文章平均质量分 55
m0_46135444
这个作者很懒,什么都没留下…
展开
-
树的直径求解
定义:树的直径的定义:在一棵树中,每一条边都有权值,树中的两个点之间的距离,定义为连接两点的路径上边权之和,那么树上最远的两个点,他们之间的距离,就被称之为,树的直径。树的直径的别称,树的最长链。请注意:树的直径,还可以认为是一条路径,不一定是只是一个数值。树的直径一般有两种求解方法:1、两次搜索(BFS和DFS都可以)优点 : 可以通过一个新的数组记录路径信息(例如父节点与子节点之间的关系)缺点 : 无法处理 负边权(遇到 负边权 凉凉)思路:先任选一点,搜索找到距离该点最远的的点,该点原创 2021-08-30 22:11:17 · 401 阅读 · 0 评论 -
[NOIP2018 提高组] 旅行
题目在这里或者这里分析题目,m只有n-1和n两种情况。1、先看n-1的情况,在这种情况下,其实就是一棵树,要想求最小字典序的序列,我们只需要从1开始搜索(因为是无向边,无论哪一个节点都可以当作根节点),在该结点有多个分节点的情况下优先选择较小的节点即可,在搜索的过程中顺便把路径记录下来。在看当前节点的分节点的时候,这里可以考虑用一个vector数组去存,这样可以直接找到这个节点的所有相邻节点,还可以进行sort排序,遍历节点的时候可以从小到大。2、再看m等于n的情况,在这种情况下,可以看作将m条边中的原创 2021-08-17 22:26:22 · 165 阅读 · 0 评论