算法
shadowvvv
这个作者很懒,什么都没留下…
展开
-
洛谷 P1099 [NOIP2007 提高组] 树网的核
洛谷 P1099 [NOIP2007 提高组] 树网的核自己对于答案区第一个答案代码的理解做法:1、两次dfs求得直径2、在直径上尺取求满足长度小于等于s,且端点到直径端点最小的路径,最小值记为ans3、标记直径为访问过,dfs直径上的点,求其树枝的长度4、ans和直径上点的树枝长度取最大值,即为所求分析:1、直径有多个时,任意取一个做上述操作都可以,这个证明还不会。。。2、满足长度小于等于s,且端点到直径端点最小的路径一定是所求的路径。证明:如下示意图图,假设AB是直径,CD是一段路径,原创 2022-01-21 12:14:50 · 494 阅读 · 0 评论 -
图论:具有至少两个顶点的简单无向图中一定存在度相同的结点
图论:具有至少两个顶点的简单无向图中一定存在度相同的结点设有n个节点,则每个节点的度数只能取0,1,2,3,。。。,n-1,因为如果某个点的度数取n,则一定存在自环或者重边。下面分情况讨论:1、如果存在大于等于2个节点度数为0,结论显然成立2、如果仅存在1个节点度数为0,则剩余n-1个节点度数不能取n-1(否则存在自环或者重边),则由抽屉原理,n-1个节点度数在1,2,。。。,n-2这n-2个数中取,必然存在两个节点度数相等3、如果不存在度数为0的节点,则n个节点的度数在1,2,。。。,n-1这原创 2022-01-10 10:41:31 · 4349 阅读 · 0 评论 -
算法导论(22.1-6)-基本图算法-有向图的通用汇点
算法导论(22.1-6)-基本图算法-有向图的通用汇点题目描述:给定图G的邻接矩阵表示,给出一个O(v)时间的算法来判断有向图G是否存在一个通用汇点。通用汇点是指入度为|V|-1且出度为0的结点。思路:首先可以证明一个有向图G如果有通用汇点,那么他仅有一个。假设有两个,则根据定义(入度为|V|-1),这两个结点必定互通的,这就违反了定义(出度为0),矛盾!然后下面这个算法尝试寻找一个可能的候选结点://i表示行,j表示列int i = 0;int j = 0;//从(0,0)开始搜索,如果当原创 2021-03-20 14:25:18 · 581 阅读 · 1 评论