LCA
XSamsara
AFO
展开
-
BZOJ 3732: Network【最小生成树+LCA】
3732: NetworkTime Limit: 10 Sec Memory Limit: 128 MBDescription 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N。 图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: d_j ( 1 < = d_j < = 1,000,000,0...原创 2018-04-10 11:13:06 · 163 阅读 · 0 评论 -
BZOJ 1787: [Ahoi2008]Meet 紧急集合【LCA】
1787: [Ahoi2008]Meet 紧急集合Time Limit: 20 Sec Memory Limit: 162 MBDescription Day1原创 2018-01-14 20:49:11 · 197 阅读 · 0 评论 -
LCA(离线Tarjan算法,在线倍增法)详解
LCA(离线Tarjan算法)首先我们看一道洛谷上的板子题:P3379 【模板】最近公共祖先(LCA)时空限制:1000ms,128M【题目描述】 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 【输入格式】 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号原创 2017-12-28 11:08:17 · 456 阅读 · 1 评论 -
BZOJ 1602: [Usaco2008 Oct]牧场行走【LCA】
1602: [Usaco2008 Oct]牧场行走Time Limit: 5 Sec Memory Limit: 64 MBDescription N头牛(2<=n<=1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草。 这n块土地被n-1条边连接。 奶牛可以在边上行走,第i条边连接第Ai,Bi块牧场,第i条边的长度是Li(1&...原创 2018-05-14 18:27:21 · 203 阅读 · 0 评论 -
BZOJ 4458: GTY的OJ【主席树+LCA+堆】
4458: GTY的OJ【题目描述】 传送门【题解】 其实就是在树上做超级钢琴,用主席树维护这棵树,那么影响到这个节点x的状态只有fa[x],那么主席树就根据fa[x]转移到x,很好想,边界的判断要注意一下。 主席树维护树上前缀和的值,然后用堆取前m个最大的就可以了。代码如下#include&lt;cstdio&gt;#include&lt;cctype&gt;...原创 2018-07-06 15:03:38 · 263 阅读 · 0 评论 -
【Codeforces】1051F. The Shortest Statement【MST+LCA+最短路】
F. The Shortest Statement【题目描述】传送门【题解】题目也说了,重点是m-n<=20,我们就可以先跑最小生成树,最后剩下最多21条边,对着44个端点(包括起点和终点)用LCA建图,跑最短路就可以了。代码如下#include<cmath>#include<queue>#include<cstdio>#include&...原创 2018-11-04 19:19:25 · 216 阅读 · 0 评论 -
LibreOJ 6514. 「雅礼集训 2018 Day10」文明【虚树+LCA】
6514. 「雅礼集训 2018 Day10」文明【题目描述】传送门【题解】考虑笨蛋的写法,可以用LCA求出1号和其他点的中点,然后DFS搜索Size大小即可,但是,复杂度显然要炸,但是我们会发现,所需要的点不多,所以我们可以用虚数优化。代码如下#include<cstdio>#include<algorithm>using namespace std;c...原创 2019-02-19 20:33:38 · 647 阅读 · 0 评论 -
BZOJ4817: [Sdoi2017]树点涂色【LCT+线段树+LCA】
4817: [Sdoi2017]树点涂色我们发现1操作就是LCT的Access操作,对于每个1操作,在Access的同时构造Val数组,我们会发现当前实儿子所在的子树Val++,Access后的实儿子Val–。所以可以用DFS序+线段树进行维护。2操作就是Val[x]+Val[y]-2*Val[fa]+13操作直接维护区间最大值就可以了。#include<cmath>#inc...原创 2019-04-17 20:24:00 · 232 阅读 · 0 评论