题目链接:https://www.luogu.org/problem/P3379 题目大意: 给一棵以s为根的无向树,回答m个询问,回答出a和b最近的公共祖先。 解题报告: 倍增LCA的模板题,用一个数组 f [i] [j]表示i结点的第$2^{j}$个祖先。显然,一个点的祖先是f[i][0],对于 ...
分类:
其他好文 时间:
2019-07-30 12:53:08
阅读次数:
69
//https://www.luogu.org/problemnew/show/P3379#include #define maxn 500010 #define maxm 1000010 using namespace std; struct edge{ int to,next; }e[maxm]... ...
分类:
其他好文 时间:
2019-07-20 12:58:54
阅读次数:
67
题目描述 "原题连接" Y岛风景美丽宜人,气候温和,物产丰富。 Y岛上有N个城市(编号$1,2,…,N$),有$N 1$条城市间的道路连接着它们。 每一条道路都连接某两个城市。 幸运的是,小可可通过这些道路可以走遍Y岛的所有城市。 神奇的是,乘车经过每条道路所需要的费用都是一样的。 小可可,小卡卡和 ...
分类:
编程语言 时间:
2019-07-13 22:43:15
阅读次数:
201
提取:等式转换,桶,倍增lca 对于(x,y)的一次提问,我们规定lca为(x,y)的lca d为深度,w为点出现观察员的时间 那么对于(x,lca)这段路径上的点i,此次提问能作出贡献的等式是 d[x]-d[i]=w[i] ->d[x]=w[i]+d[i] 对于(lca,y)这段路径上的点i,此次 ...
分类:
编程语言 时间:
2019-07-12 14:15:29
阅读次数:
142
BaoBao has just found a rooted tree with n vertices and (n-1) weighted edges in his backyard. Among the vertices, m of them are red, while the others ...
分类:
其他好文 时间:
2019-05-21 00:12:38
阅读次数:
130
这是一道树链剖分/树上差分/LCA的题目…… 本来想打一遍树剖,但是被那强大的码量劝退了,于是我开始思考树上差分。 我们先把每个点深度的k次方打一个表,之后我们因为要做减法,所以我们令vali,k?表示i到1号点路径上点深度的k次方之和 然后问题来了,我们维护的是点权和,所以我们发现直接减的话会导致 ...
分类:
其他好文 时间:
2019-05-03 16:45:42
阅读次数:
153
传送门 总算是做上一道LCA的应用题了... 题意:有$n$个牧场, $m$根管道分别连接编号为$u,v$的牧场花费$p_{i}$,在第$i$个牧场挖口井需要花费$w_{i}$,有$P$根管道直接连通着$u,v$,即免费连上$u,v$ 对每根免费管道输出让所有牧场都有水的最小花费 先是最小生成树,用 ...
分类:
其他好文 时间:
2019-04-30 20:02:27
阅读次数:
117
传送门:QAQQAQ 题意:原始有一棵根为1,有三个叶子2,3,4的树。有n个操作,每次可以在一个叶子下面续上两个节点,每次操作完问当前树的直径。 思路:先预处理出树的直径,以及其中一条直径两端的点l,r,对于新加的点,只需计算其与两端的距离(倍增LCA),若大于ans,则更新直径l或r,否则就不变 ...
分类:
其他好文 时间:
2019-04-05 22:39:12
阅读次数:
174
紧急集合 / 聚会 题目大意: 给出一个无向图,每一次给出图中的三个点,求离三个点距离之和最小的点。 解决方法: 倍增LCA。 首先我们两两点之间求出LCA,那么离他们距离之和最近的点就是三个点中深度最深的点,想一想为什么? 我们假设存在一个点离三个点距离之和更近且深度更浅,那么我们将它的深度往下走 ...
分类:
其他好文 时间:
2019-03-22 18:45:37
阅读次数:
115
You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, 3...N-1. Each edge has an integer value assigned t ...
分类:
其他好文 时间:
2019-02-07 21:56:19
阅读次数:
134