情形1:树是搜索二叉树
思路:从树的根节点开始遍历,如果根节点的值大于其中一个节点,小于另外一个节点,则根节点就是最低公共祖先。否则如果根节点的值小于两个节点的值,则递归求根节点的右子树,如果大于两个节点的值则递归求根的左子树。如果根节点正好是其中的一个节点,那么说明这两个节点在一条路径上,所以最低公共祖先则是根节点的父节点
public static BinaryTreeNode get...
分类:
其他好文 时间:
2014-06-16 19:02:59
阅读次数:
394
首先将原图中的连通分量缩点,一定可以将原图缩成一棵树的形式,然后统计这棵树的叶子节点个数,答案就是(leaf+1)/2。这里不再证明,可以画个图看一下。(简单说明一下,首先把两个最近公共祖先最远的两个叶节点之间连接一条边,这样可以把这两个点到祖先的路径上所有点收缩到一起,因为一个形成的环一定是双连通...
分类:
其他好文 时间:
2014-06-15 11:33:53
阅读次数:
247
递归的正式定义:
在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。
例如,下列为某人祖先的递归定义:
某人的双亲是他的祖先(基本情况)。
某人祖先的双亲同样是某人的祖先(递归步骤)...
分类:
其他好文 时间:
2014-06-14 10:22:52
阅读次数:
162
一、基本概念:1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。3.点连通度:最小割点集合中的顶点数。4.割边(桥):删掉它之后,图...
分类:
其他好文 时间:
2014-06-09 15:43:52
阅读次数:
344
Android2.3的overflow问题在android2.3及以下系统版本的浏览器不支持overflow:scroll
/
auto,即在页面元素里面的内容如果超过了父元素或祖先元素的高度是无法滚动的,可以通过css3的transform来实现滚动,代表作:iscroll。Android2.3的...
分类:
Web程序 时间:
2014-06-07 08:03:09
阅读次数:
390
题目来源:HDU 3367 Pseudoforest
题意:每个连通块最多可以有一个环 求最大的森林
思路:考虑最大生成树 如果祖先一样没有环 那就合并 如果祖先不一样 如果2棵树都没有环 合并 如果有1棵树有环 合并 标记该棵树有环
#include
#include
#include
using namespace std;
const int maxn = 100010;
str...
分类:
其他好文 时间:
2014-06-05 05:35:03
阅读次数:
261
应用
渗透问题
游戏中会用到。
动态连接
最近共同祖先等价有限状态机物理学Hoshen-Kopelman算法:就是对网格中的像素进行分块Hinley-Milner多态类型推断Kruskai最小生成树Fortran等价语句编译形态学开闭属性Matlab中关于图像处理的bwlabel函数
渗透问题
一个N×...
分类:
其他好文 时间:
2014-06-02 18:56:56
阅读次数:
407
如果自下而上仰视类的继承层次结构,那么位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。...
分类:
编程语言 时间:
2014-06-01 15:07:53
阅读次数:
301
一棵普通树,树中的结点没有指向父节点的指针,求一棵普通树的两个结点的最低公共祖先。代码如下,我太懒没有加注释,大家自己看吧! 1 #include 2
#include 3 #include 4 using namespace std; 5 6 struct TreeNode /...
分类:
其他好文 时间:
2014-05-31 08:08:32
阅读次数:
262
学习自:
http://www.w3cschool.cc/java/java-package.htmlJava
继承所有Java的类均是由java.lang.Object类继承而来的,所以Object是所有类的祖先类,而除了Object外,所有类必须有一个父类。IS-A关系通过使用关键字extend...
分类:
编程语言 时间:
2014-05-26 16:47:54
阅读次数:
507