【二叉树】 二叉树是最为简单的一种树形结构。所谓树形结构,其特征(部分名词的定义就不明确给出了,毕竟不是学术文章。。)在于: 1. 如果是非空的树形结构,那么拥有一个唯一的起始节点称之为root(根节点) 2. 除了根节点外,其他节点都有且仅有一个“父节点”;除此外这些节点还都可以有0到若干个“子节 ...
分类:
其他好文 时间:
2018-07-20 23:02:15
阅读次数:
218
参考链接:https://blog.csdn.net/u013276277/article/details/78575033 题目一:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 题目二:输入一棵二叉树的根节点,判断 ...
分类:
其他好文 时间:
2018-07-10 01:18:58
阅读次数:
166
http://acm.hdu.edu.cn/showproblem.php?pid=4607 题意 一颗n个顶点的树,现在只想访问其中k个,问最短路径长度为多少。 分析 首先,最短的路径当然是一条链。那么我们需要求树的直径。求法:先从任意一点dfs到最深处v,再以v为根深搜,得到的最长路径便是树的直 ...
分类:
其他好文 时间:
2018-07-09 00:37:37
阅读次数:
166
PS:求最长路只需把权值变为相反数 PS 2:有些题目对路径有额外要求,只需应用动态规划的思想在dis数组上加维以表示条件 SPFA 前向星 cpp include include include include include using namespace std; const long lon ...
分类:
其他好文 时间:
2018-07-08 23:05:08
阅读次数:
205
队列有毒。。。 当然是差分约束了! 两个条件:$a_r a_{l 1} \geq c$ 和 $0 \geq a_i a_{i 1} \leq 1$ 这里统一化为大于等于,成为最长路。 直接求出最长路即可。 PS:队列抽风了。。。有STL的队列才过了。我是不是得退役了。。。 代码: ...
分类:
其他好文 时间:
2018-07-08 15:36:06
阅读次数:
122
第一道差分约束的题目,感觉有点懵。 差分约束有一点类似于拓扑排序建图的思想。 先给出解题套路: 形如$a \geq b + c$的满足一种最长路的性质,所以可以使用最长路解决,可以解决求最小的问题。 形如$a \leq b + c$的满足最短路的性质,使用最短路算法可以解决,可以解决求最大的问题。 ...
分类:
其他好文 时间:
2018-07-08 01:04:34
阅读次数:
149
题目传送门 传送点I 传送点II 传送点III 题目大意 给定一颗基环树,要求删去其中一条边,使得剩下的图形是一棵树,并且最长路的长度最短,求最长路的最短长度。 传送点I 传送点II 传送点III 题目大意 给定一颗基环树,要求删去其中一条边,使得剩下的图形是一棵树,并且最长路的长度最短,求最长路的 ...
分类:
其他好文 时间:
2018-07-01 17:53:21
阅读次数:
173
1 include using namespace std; const int N=105; const long long inf=1e18; long long T,n,m; struct qwe { long long a[N][N]; qwe operator (const qwe &b) ...
分类:
其他好文 时间:
2018-07-01 11:36:55
阅读次数:
119
/* 缩点加上最长路 应该用拓扑序列的 不想写 spfa跑一下吧 */ #include #include #include #include #include #define M 500200 #define ll long long using namespace std; int be[M],... ...
1、104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 2、111. 二叉树的最小深度 给定一个二 ...
分类:
其他好文 时间:
2018-06-23 19:12:01
阅读次数:
140