问题 对于普通的二叉树,如何找到两个给定节点之间的距离?距离是指连接两个节点所需要的最小边的条数。 例如下面的二叉树: 这个问题很全面的考察了二叉树的相关的知识,建议大家先尝试自己解决 分析: 假设给定的节点为node1,node2,可以分为下面的两种情况: 1)node1是node2的祖先节点或孩 ...
分类:
其他好文 时间:
2016-07-23 11:41:22
阅读次数:
236
1050: [HAOI2006]旅行comf Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE ...
分类:
其他好文 时间:
2016-07-17 21:11:23
阅读次数:
280
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个比值,如果需要,表示成一个既约 ...
分类:
其他好文 时间:
2016-07-13 20:25:11
阅读次数:
273
二分图基础: 最大匹配:匈牙利算法 最小点覆盖=最大匹配 最小边覆盖=总节点数-最大匹配 最大独立集=点数-最大匹配 网络流: 带下界网络流 最小割问题的总结: *意义 1.加inf的边表示不能被割,通常用于体现某个点必须属于某个集合 连边(s,u,w)代表如果u不在s割的话需要付出代价w 2.连边 ...
分类:
其他好文 时间:
2016-07-13 01:02:21
阅读次数:
277
题目大意:给你一个100个点的图,划分成两个点集,要求A点集所有点的度为奇数,B点集的点为偶数,求一个最小边权边集满足这个约束。 解:我们要先抽象提炼一些性质,才能得到这题一般图最小匹配的做法 首先一点,偶数点完全不用考虑,要么他们不选取,要么他们作为路径上的点即可(出度=入度),所以直接做一遍fl ...
分类:
其他好文 时间:
2016-07-04 13:32:44
阅读次数:
364
题意:给定n个结点的图,求最大边的权值减去最小边的权值最小的生成树。 析:这个和最小生成树差不多,从小到大枚举左端点,对于每一个左端点,再枚举右端点,不断更新最小值。挺简单的一个题。 代码如下: ...
分类:
其他好文 时间:
2016-06-21 22:21:24
阅读次数:
178
一、目的; 找图中连通所有点的n-1条边; 二、prim算法; 1) 将所有点都断开,然后选择一个点作为起始点,V代表已经连通的最小生成树中的点,S代表不在V里面的点,每次选择S中离V最近的点;最终将所有的点加入V中。 2) 证明:假设我们每次加入的那一条边不是最小边时的为最小生成树,那么我们将最小 ...
分类:
编程语言 时间:
2016-06-10 17:51:39
阅读次数:
194
题意: 一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。 问至少放置多少个基站才能使得所有的城市都覆盖无线? 思路: 给每个城市编号,建双向边,跑匈牙利,然后城市数量-匹配数/2就是答案 因为假设每个城市都要建基站,然后有多少个匹配就减少多 ...
分类:
其他好文 时间:
2016-05-17 13:25:22
阅读次数:
129
解题思路:这道题我一开始的思路是动规,dp_max[i][j]表示i-j的最大边,dp_min[i][j]表示i-j的最小边,可是这样会有问题,有可能最大边与最小边不在同一条路径上,这样就很麻烦了。
正解:参考了网上的思路,这里其实是最小生成树的变形。由于是最大边与最小边的差最小,可以先把所有边按从小到大排好序,接着就是kruskal的思路了,我们把边从小到大以此加入进去,如果start和end...
分类:
其他好文 时间:
2016-05-12 21:09:14
阅读次数:
148
1050: [HAOI2006]旅行comf
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 2405 Solved: 1282
[Submit][Status][Discuss]
Description
给你一个无向图,N(N
,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBL...
分类:
其他好文 时间:
2016-05-07 09:55:57
阅读次数:
215