Layout‘Layout’ 是 IE 浏览器渲染引擎的一个内部组成部分。在 IE 浏览器中,一个元素是依赖祖先元素来管理自身尺寸和内容, 一个是自己负责管理自身尺寸和内容。为了协调这两种方式的矛盾,渲染引擎采用了 ‘hasLayout’ 属性,属性值可以为 true 或 false。 当一个元素的...
分类:
其他好文 时间:
2014-08-25 22:44:45
阅读次数:
259
题目来源:URAL 1752. Tree 2
题意:求一个点v与它距离为d的任意一个点 没有输出0
思路:开始想倍增法 但是倍增法只能往他的祖先去 后来百度发现了树的直径 想了想 发现可以建2棵树 每一棵树的根是树的直径的2个端点
这样保证了每个点和他距离最远的点就是其中一个根 因为一个点到树的直径的端点的距离是最远的 最后就是LCA倍增了
#include
#include
#in...
分类:
其他好文 时间:
2014-08-24 20:53:33
阅读次数:
244
http://poj.org/problem?id=1611
题意是说为了控制病毒,需要收集全部病人的信息,然后有n个人和m个组,初始0号人是病毒,满足一个组只要有一个人是病毒,那么这个组全部的人都认为有病毒。问最终感染病毒的人数。
并查集来实现,只要输出0所在祖先节点的秩就行,秩保存的就是该节点所有的儿子数。
#include
#define N 300001
int father[N],...
分类:
其他好文 时间:
2014-08-24 14:16:02
阅读次数:
166
http://poj.org/problem?id=1330题意:给出一个图,求两个点的最近公共祖先。sl :水题,贴个模板试试代码。本来是再敲HDU4757的中间发现要用LCA, 操蛋只好用这个题目试试自己写的对不对。 下面是个倍增的写法,挺实用的。好了,继续。。。1#include2#inclu...
分类:
其他好文 时间:
2014-08-23 17:33:41
阅读次数:
233
Description
Input
Output
Sample Input
Sample Output
1
2
HINT
二维树状数组的简单应用,c数组的第一维坐标相当于哈希。如果是修改操作,修改前 将当前的值的个数以及祖先都减1, 修改后将个数加1.
#include
#include
#include
#i...
分类:
Web程序 时间:
2014-08-22 00:23:05
阅读次数:
207
囧啊囧。lca的求法太多了倍增,tarjan,st,lct,hld....后边三个我就不写了,其中st我没写过,估计用不上,在线用倍增,离线用tarjan就行了。嗯。第一种,倍增(nlogn,在线):倍增的思想用在树上,即可以求出lca。我们维护二维数组,f[i][j],表示i号点的第2^j号祖先,...
分类:
其他好文 时间:
2014-08-21 22:42:24
阅读次数:
278
题目来源:UVa 11354 Bond
题意:n个点m条边的图 q次询问 找到一条从s到t的一条边 使所有边的最大危险系数最小
思路:使最大的危险系数尽量小 答案是最小生成树上的边 然后用LCA倍增法记录s和t到他们最近公共祖先的最大值
#include
#include
#include
using namespace std;
const int maxn = 50010;
con...
分类:
其他好文 时间:
2014-08-21 21:15:54
阅读次数:
171
参考文献1
参考文献2
题目:输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点
变种一:二叉树是二分查找树,如果根节点比两个节点都小,则访问右子树,都大则访问左子树,否则即为结果
变种二:每个节点有指向父节点的指针,则转变为查找两个单链表的第一个公共节点
变种三:对于普通二叉树,下面给出两种方法
方法一:二叉树的后序遍历,先看节点是否在左子树,再看右子树,然后根据左右子...
分类:
其他好文 时间:
2014-08-21 17:22:34
阅读次数:
197
情况1:
树为二叉排序树。
思路:从根结点开始和输入的两个结点进行比较,如果当前结点的值比两个结点的值都大,那么最低的祖先肯定在左子树中,于是下一步遍历当前结点的左子结点。如果当前结点的值比两个结点的值都小,那么最低的祖先肯定在右子树种,于是下一步遍历当前结点的右子结点。如果当前结点正好是输入的两个结点之一,说明这两个结点有一个是另一个的祖先,这时输出当前结点的父节点即可。
/*
二...
分类:
其他好文 时间:
2014-08-21 11:32:06
阅读次数:
365