随笔分类 -  LCA

摘要:E. Qpwoeirut and Vertices 分析 分析起来,倒是不算太麻烦。 简单说明一下题意: n个点,m条边的无向图。其中边按照其给的顺序赋边权,即为第一条给出的边,其边权为1,第二条给出的边,其边权为2,等。 给我们q次询问,每次询问给一个范围[l,r],要求其中的点全部连通需要走的边 阅读全文
posted @ 2022-08-08 22:27 艾特玖 阅读(50) 评论(0) 推荐(0)
摘要:牛客练习赛62——水灾(断开) 原题链接 分析 我们要知道的是将k个点断开使得其互相不连通需要去掉的所有边集的最大边权的最小值是多少 我们先考虑将两个点断开的答案是什么?显而易见,即为两者之间的最小边权最大值。那我们建降序Kruskal重构树,然后求LCA就好。 那k个点我们就求个k个点的LCA,就 阅读全文
posted @ 2022-08-08 22:26 艾特玖 阅读(43) 评论(0) 推荐(0)
摘要:线路规划 官方题解 思路 简单总结一下。 让我们求一个最小生成树。但是其中如果我们暴力建边一定会T。 我们考虑用倍增优化。 对于每一组线路方案,我们按照二进制将其拆开。 越靠近端点的区间越大。也可以理解为对同一组方案,其中深度越大的点所在的拆分的区间越大。 接下来,我们将端点之间的连边转换为了区间之 阅读全文
posted @ 2022-07-01 22:01 艾特玖 阅读(54) 评论(0) 推荐(0)
摘要:P1081 [NOIP2012 提高组] 开车旅行 题目大意 旅行过程中有个n个城市,从西向东按序号排列。 旅行过程中,小 $\text{A}$ 和小 $\text{B}$ 轮流开车,第一天小 $\text{A}$ 开车,之后每天轮换一次。他们计划选择一个城市 $s$ 作为起点,一直向东行驶,并且最 阅读全文
posted @ 2022-07-01 17:37 艾特玖 阅读(351) 评论(0) 推荐(0)
摘要:Colorful Tree 题目大意 给我们一棵树,每个节点有一个颜色。 需要完成两个操作。 求某一种颜色的最小生成树的边数 将某一个节点的颜色改为另一种颜色 思路 不得不提到一个名词,虚树。虚树的概念大就是说我们不用真的把每一次改变后的树都重新建出来,我们只需要维护某些性质即可。 大部分用到虚树的 阅读全文
posted @ 2022-06-30 23:24 艾特玖 阅读(57) 评论(0) 推荐(0)
摘要:Kruskal重构树 前言 事情的起因是,上年在上海区域赛中,碰到了铜牌题用到了这个知识点,因为不会,又kuangkuang打铁了。 说要总一下来着,但拖延症发作,硬是拖到了今天,但也不是没有好处,现在由于水平提升一些,我们可以将例题讲的更清楚些。 下面我们就开始吧 实现过程 这点并不难说 将边按照 阅读全文
posted @ 2022-04-14 23:12 艾特玖 阅读(241) 评论(1) 推荐(2)
摘要:P2486 [SDOI2011]染色 分析 我们来根据操作来讨论一下,需要维护的值有什么。 将节点 a 到节点 b 的路径上的所有点(包括 a 和 b)都染成颜色 c。 很明显,我们需要维护一下tag,来保存该区间是否发生了整体被某种颜色覆盖 这并不困难,我们把眼光放到第二个操作上 询问节点 a 到 阅读全文
posted @ 2022-03-20 17:32 艾特玖 阅读(57) 评论(0) 推荐(0)
摘要:P4114 Qtree1 分析 考查知识点 LCA+树剖+线段树 倒也不算难,我们看到,要做树上的单点修改,并且需要动态的知道一条路径上的最大值。 那就是这三个知识点了,因为如果若是一段连续的区间,那就不用LCA了,直接线段树+树剖就可以做了 利用树剖,将树拆成区间问题,同时还能去做LCA。 这里想 阅读全文
posted @ 2022-03-19 22:15 艾特玖 阅读(47) 评论(0) 推荐(0)
摘要:方法 (1)向上标记法O(n) 这个方法很暴力,没什么说的,如果有m次查询,那时间复杂度就会是O(nm) (2)倍增 步骤: 1.初始化:通过dfs初始化两个数组depth[],fa[i,j]; depth[i]:表示深度 fa[i,j]:表示从i开始,向上走$2j$步所能走到的节点编号(\(0 \ 阅读全文
posted @ 2021-10-21 21:33 艾特玖 阅读(257) 评论(0) 推荐(0)