随笔分类 - LCA
摘要:传送门 LCA 但桶用的很妙 真的很妙b( ̄▽ ̄)d #include<iostream> #include<cstdio> using namespace std; int Size1=500000,dist[1000001],h1[1000001],h2[1000001],b1[1000001]
阅读全文
摘要:题目传送门 题目大意就是给定一棵 n 个点的树,m 次询问,每次询问给出三个点,问应该选 择哪个点,使得三点到该点的距离和最小。 容易发现,集合点一定在两两点的路径上,三者 LCA 中的一个。 其最短路径即为俩俩点距离和的一半 时间复杂度为 O(m log n) 没打代码,嘿嘿
阅读全文
摘要:T4 逆向,考虑增加一条边,将两个连通块合并了 考虑新连通块的直径与原来两个连通块直径的关系 设新连通块的直径端点为 x, y,原两个连通块的直径端点为a, b, c, d。 容易发现,x, y 一定是 a, b, c, d 其中之一。 除去原先两个连通块直径长度,乘上新连通块直径长度(除法需乘法逆
阅读全文
摘要:果然,10月的我还是逃不过树剖o(╥﹏╥)o
阅读全文
摘要:题目描述 A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。 现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 输入格式 第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和
阅读全文
摘要:题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 N,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 N−1 行每行包含两个正整数 x,y,表示 x 结点和 y 结点之间有一条直接连接的边(数据保证可以构成树)。 接下来 M
阅读全文

浙公网安备 33010602011771号