题意:给一棵二叉排序树,找p和q的LCA。思路:给的是排序树,那么每个节点必定,大于左子树中的最大,小于右子树种的最小。根据这个特性,找LCA就简单多了。三种情况:(1)p和q都在root左边,那么往root左子树递归。(2)在右同理。(3)一左一右的,那么root->val肯定大于其中的1个,小于...
分类:
其他好文 时间:
2015-07-11 15:05:18
阅读次数:
223
题目:
Lowest Common Ancestor of a Binary Search Tree
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.
According to the
definition of ...
分类:
其他好文 时间:
2015-07-11 12:15:13
阅读次数:
169
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to thedefinition of LCA on Wikipedia: ...
分类:
其他好文 时间:
2015-07-11 10:27:33
阅读次数:
113
标题来源:POJ 1986 Distance Queries意甲冠军:给你一棵树 q第二次查询 每次你问两个点之间的距离思路:对于2点 u v dis(u,v) = dis(root,u) + dis(root,v) - 2*dis(roor,LCA(u,v)) 求近期公共祖先和dis数组#incl...
分类:
其他好文 时间:
2015-07-09 09:38:58
阅读次数:
122
How far away ?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7739 Accepted Submission(s): 2769
Problem Description
There are n hou...
分类:
其他好文 时间:
2015-07-07 22:54:53
阅读次数:
111
1.最近公共祖先:对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。2.朴素算法:记录下每个节点的父亲,使节点u,v一步一步地向上找父亲,直到找到相同的“祖先”,即 是所求的答案,时间复杂度O(n)。3.优化算法(倍增法):利用二进...
分类:
其他好文 时间:
2015-07-07 12:57:09
阅读次数:
131
题目链接:
Poj3694
题意:
给出一个N(1 ≤ N ≤ 100,000)个点 和
M(N - 1 ≤ M ≤ 200,000)的连通图.
有Q ( 1 ≤ Q ≤ 1,000)个询问 每次询问增加一条边(累加下去)
输出每增加一条边后剩下的桥的数量
题解:
10W点加1000次询问 每次询问都用Tarjin算法求一次肯定会超时的
...
分类:
Web程序 时间:
2015-07-07 09:42:33
阅读次数:
196
bestcoder round#45 1003 题,给定两个点,要我们求这两个点的树上路径所经过的点的权值是否出现过奇数次。如果是一般人,那么就是用lca求树上路径,然后判断是否出现过奇数次(用异或),高手就不这么做了,直接树链剖分。为什么不能用lca,因为如果有树退化成链,那么每次询问的复杂度是O...
分类:
其他好文 时间:
2015-07-06 01:20:20
阅读次数:
122
Description给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每次询问给出l r z,求sigma_{l#include#include#include#i...
分类:
其他好文 时间:
2015-07-05 14:53:26
阅读次数:
126
//给一棵树,最后问两个点的lca是谁。
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn=10005;
struct node{
int v,next;
};
node edge[maxn];
int head[maxn],cnt;
void add(in...
分类:
其他好文 时间:
2015-07-03 17:35:04
阅读次数:
144