![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
lca
文章平均质量分 56
图论
Top_xiao
这个作者很懒,什么都没留下…
展开
-
2370 小机房的树,lca
小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上。有一天,他们想爬到一个节点上去搞基,但是作为两只虫子,他们不想花费太多精力。已知从某个节点爬到其父亲节点要花费 c 的能量(从父亲节点爬到此节点也相同),他们想找出一条花费精力最短的路,以使得搞基的时候精力旺盛,他们找到你要你设计一个程序来找到这条路,要求你告诉他们最少需要花费多少精力原创 2016-11-15 10:37:14 · 233 阅读 · 0 评论 -
(POJ) Housewife Wind (LCA + BIT)
【题意】给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值思路:这个题我 用的是 LCA + BIT题目的要求是求两点之间的最短距离,然后还可以修改 边 的长度,修改的话,我们可以用树状数组来维护,,我们先找 dfs 序,一个点的时间戳有两个, 然后时间戳包含的就是自己的下面节点。我们在维护树状数组的时候,在 in 时间戳 加valu...原创 2018-08-09 16:14:22 · 123 阅读 · 0 评论 -
POJ Design the city (一个裸的LCA,求三点之间的最短距离)
题意:求三点之间的最短距离。思路:三个点之间两两进行 LCA, 得到的结果加起来除以二就是答案。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>...原创 2018-08-09 16:21:55 · 1525 阅读 · 0 评论 -
Nearest Common Ancestors (LCA)
裸的lca,找最近公共祖先, 他给你了父亲节点,只要根据给的数据建树就可以了。 这个题写的时候出了bug,dfs() 的时候,树的顶端的父亲节点是否设成语顶端一样。如果一样,dep可以memset(dep,0)如果不一样,那么,dep 的值 ,顶端的节点和 父亲节点的dep 一定不能一样。如果顶端值为0,,其父亲节点一定不能为0否则出bug #include <...原创 2018-08-10 09:19:42 · 297 阅读 · 0 评论 -
POJ 3728 The merchant(在线倍增LCA,维护树上最大,最小,两点差值最大。)
Description n个城市构成一棵树,每个城市都有一种商品有一个固定的价格,一个商人要从一个城市到另一个城市,他会在路途中选取一个城市购买这种商品然后在之后的某个城市卖掉以赚取差价,问最大差价 Input 第一行一整数n表示城市个数,之后n个整数val[i]表示第i个城市该种商品的价格,之后n-1行每行两个整数u和v表示u城市和v城市有路径,然后输入一整数q表示查询数,每次查询输入两个整...原创 2018-08-10 15:27:24 · 553 阅读 · 0 评论 -
CodeForces 838B - Diverging Directions (线段树,dfs序,LCA)
n 个点 2n-2 条有向带权边的图,其中编号 1~n-1 的边一定形成一个 1 号点为根的生成树。 编号n~2n-2 的边一定是从点 i ([Math Processing Error]i≠1 且 i 点各不同) 到点 1 .有 q 个询问,询问有两种类型:1 i w :将第 i 号边的权值(距离)修改为 w 。 2 u v :求 u 到 v 的最短路。 思路:我们先跑一...原创 2018-08-10 21:27:23 · 234 阅读 · 0 评论 -
POJ - 3417 Network 【树上差分 + LCA + 思维】
https://vjudge.net/problem/POJ-3417 题意:先给一棵具有n个节点的树, 然后再给出m条边, 问从树上删去一条边, 再从m条边中删去一条边, 把这个图分成至少两部分的方案数. 思路:很容易就可以想到,每加入一条边,都会形成环。这条环是什么样的呢? 肯定是, u -> lca(u,v) -> v - > u 肯定是这样一个环,...原创 2018-08-14 00:02:35 · 392 阅读 · 0 评论