E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ1787
【
bzoj1787
】Meet紧急集合 lca
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1787【题解】记住一个结论:三个点的最小距离点等于两两的lca中与其他两个lca不同的lca然后就很水了。#include#include#include#include#include#include#includeusingnamespacestd;#defineMAXN500010st
chty_syq
·
2016-11-21 13:43
bzoj
lca
【BZOJ1832】【AHOI2008】聚会 &【
BZOJ1787
】Meet 紧急集合
Description给出一颗树,求点X使点x,y,z到它的距离最短,并求出来。Solution先把x,y,z的两两LCA求出来,可以证明一定至少会有两个LCA使一样的,而X点就是与其他两个不同的那个,于是就可以乱搞一波,(本来想偷懒,结果WA了…QAQ)复杂度:O(m∗log2(n))Code#include #include #definefo(i,a,b)for(inti=a;i'9'));
HOWARLI
·
2016-07-04 19:00
图论
LCA
BZOJ1787
: [Ahoi2008]Meet 紧急集合(LCA)
这一道题中,每一次询问的答案就是这三个点,两两的LCA的异或和。至于这样为什么是对的呢?我们先考虑是否一定有重复的LCA呢?如果三个点在根节点的不同子树中,那么LCA都是根节点,三个都重复。如果有两个在一个子树中,那么这两个与另外一个的LCA都是根节点。如果三个都在一个子树中,可以归纳到以上两种情况。然后考虑为什么是异或和。如果三个LCA相同,那么一定是这个点无疑,等于异或和如果有一个LCA与另外
geng4512
·
2016-04-11 18:00
[
BZOJ1787
][AHOI2008]Meet 紧急集合(LCA)
题目描述传送门题解两两求lca,如果有两个相同,另外一个就是要到达的点。求lca很好理解,因为这个点一定要在这些点两两之间的唯一路径上,如果去别的点的话就太蠢了。如果两对lca相同,那么说明有两个点到这个lca的路需要走重复的一段,那么我们就不要这么蠢,让另外一个点自己走这段路就好了。代码#include #include #include usingnamespacestd; constint
Clove_unique
·
2016-04-02 17:00
LCA
bzoj
AHOI
bzoj1787
紧急集合 lca
打完欧拉序列转rmq发现超了空间。。再打离线发现不能处理距离。。最后改了改欧拉序列rmq不MLE了。。结果发现跑的还没有倍增快。。。/(ㄒoㄒ)/~~以后一定用倍增了。 对于x,y,z,可以发现他们的lca只有两个,即有一个lca与其他两个不同(三个都相同除外),那么这个lca就是集合点。。没了。抑或一下可能会方便一点。AC代码如下:#include #include #includ
lych_cys
·
2016-02-10 20:00
DFS
LCA
RMQ
欧拉序列
【LCA】BZOJ1832 &
BZOJ1787
(AHOI)-集会
【题目大意】一个图有n个点n-1条边(也就是说是一棵树),求其中三点共同到达某一点经过总共的最少边数以及共同到达的那一点。【思路】借用一下黄学长给的结论:三个点两两取LCA,其中必有两个相同,则另外一个点就是答案。注意BZOJ大数据要用scanf和printf,因为cout的原因RE了好几次_(:зゝ∠)_基本算是一道标程类的题目了啦。1#include 2#include 3#include
GufuVelvirki
·
2016-01-17 22:00
[
BZOJ1787
][Ahoi2008]Meet 紧急集合&&[BZOJ1832][AHOI2008]聚会
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1787http://www.lydsy.com/JudgeOnline/problem.php?id=1832题目大意给定一棵树,每次询问3个点到某一点的最小距离和题解3个点,其实任意两点间有lca,而且最多有3个不同lca(事实上最多是2个),这样的话3种情况比大小即可事实是:3个点两两lca
slongle_amazing
·
2015-11-27 20:00
[
BZOJ1787
Meet]
[关键字]:LCA [题目大意]:求出一个集合点使树中三个点到这个点距离总和最小 //============================================================= [分析]:无论怎么建树,这个集合点一定在这三个点两两的LCA之间,所以就转化成求LCA的问题,但这道题用离线的tarjan算法十分麻烦,所以就用的LCA转RMQ的在线算法。自我感觉代码
·
2015-11-13 00:59
ZOJ
bzoj1787
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1787 刚开始好像很难的样子 画了一下,发现好像只有3种情况,且最终的P点一定是两两LCA中的一个。 裸的LCA 怪不得数据那么大 #include<cstdio> #include<cstdlib> #include<iostream>
·
2015-10-31 08:26
ZOJ
【
BZOJ1787
】【Ahoi2008】Meet 紧急集合 LCA、双倍经验
#include intmain() { puts("转载请注明出处谢谢"); puts("http://blog.csdn.net/vmurder/article/details/43235305"); }233……【BZOJ1832】【AHOI2008】聚会倍增lca就是这道题。输入输出都没有改。http://blog.csdn.net/vmurder/article/details/4260
Vmurder
·
2015-01-28 19:00
LCA
meet
BZOJ1787
Ahoi2008
紧急集合
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他