题目大意:给你一个无向图,然后再给你一个Q代表有Q次询问,每一次加一条边之后还有几座桥。在这里要对重边进行处理。每次加入一条边之后,在这条搜索树上两个点的公共祖先都上所有点的桥都没了。这里重边的处理上要说一下, 我以前第一写的时候根本没考虑这个问题,但是居然过了。。。过了。。。 很扯淡,但是重边的问...
分类:
Web程序 时间:
2015-08-10 19:43:41
阅读次数:
144
题目大意:给定所有点的权值都为0,给定一棵树以后,每次询问都要求给定两点 x , y 和一个权值w,要求x,y路径上所有点权值加上w,最后求出每一个节点的值这里因为查询和点都特别多,所以希望能最后一次性更新节点的值我们可以这么考虑,每次询问中找到x,y的最近公共祖先,那么我们将val[x] +=w ...
分类:
编程语言 时间:
2015-08-09 12:18:00
阅读次数:
151
题目大意:多点形成一棵树,树上边有权值,给出一堆询问,求出每个询问中两个点的距离这里求两个点的距离可以直接理解为求出两个点到根节点的权值之和,再减去2倍的最近公共祖先到根节点的距离这是自己第一道lca题目学习了两种方法第一种在ST算法,利用RMQ思想预处理 1 /*在线ST算法*/ 2 #pragm...
分类:
其他好文 时间:
2015-08-08 12:00:54
阅读次数:
184
#1069 : 最近公共祖先·三
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
上上回说到,小Hi和小Ho使用了Tarjan算法来优化了他们的“最近公共祖先”网站,但是很快这样一个离线算法就出现了问题:如果只有一个人提出了询问,那么小Hi和小Ho很难决定到底是针对这个询问就直接进行计算还是等待一定数量的询问一起计算。毕竟无论是一...
分类:
其他好文 时间:
2015-08-07 19:59:59
阅读次数:
342
今天做了两个二叉树的题目, 挺简单的, 不用调试, 直接在提交框上敲完提交, 直接就通过了.
第一个题目是求二叉查找树的公共祖先, 因为是排序的, 所以很好做.
具体思路如下:
1 如果两个节点都比当前节点小, 那公共祖先必然是当前节点的左子树上, 所以递归左子树;
2 如果两个节点都比当前节点大, 那么同上, 递归右子树;
3 如果两个节点有一个为当前节点, 则当前节点为公共节点; 如...
分类:
其他好文 时间:
2015-08-07 00:21:15
阅读次数:
168
#1067 : 最近公共祖先·二
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
上上回说到,小Hi和小Ho用非常拙劣——或者说粗糙的手段山寨出了一个神奇的网站,这个网站可以计算出某两个人的所有共同祖先中辈分最低的一个是谁。远在美国的他们利用了一些奇妙的技术获得了国内许多人的相关信息,并且搭建了一个小小的网站来应付来自四面八方的请求。
...
分类:
其他好文 时间:
2015-08-01 22:01:52
阅读次数:
127
#1062 : 最近公共祖先·一
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?
“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的树玩具都弃置一边。
“嘿嘿,小Hi,你快过来...
分类:
其他好文 时间:
2015-08-01 17:19:32
阅读次数:
124
/*
Author: 2486
Memory: 0 KB Time: 2222 MS
Language: C++11 4.8.2 Result: Accepted
VJ RunId: 4236841 Real RunId: 15859210
*/
#include
#include
#include
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2015-08-01 15:45:45
阅读次数:
116
1、前言这是很重要的一个部分,其实之前很多内容均有所提及,今天把许多知识点放在一起讲,也是起一个总结的作用。2、概念最近公共祖先,英文简称为LCA,当且仅当存在于树之中。如假设你生了一对双胞胎,那么两门两个人的最近公共祖先就是你了。公共祖先存在很多,但是最近有且仅有一个。如图所示,ans节点就是点x...
分类:
其他好文 时间:
2015-07-31 23:15:25
阅读次数:
189