随笔分类 - 树上算法—最近公共祖先LCA
摘要:题意 "题目链接" Sol 一步一步的来考虑 $25 \%$:直接$O(nm)$的暴力 链的情况:维护两个差分数组,分别表示从左向右和从右向左的贡献, $S_i = 1$:统计每个点的子树内有多少起点即可 $T_i = 1$:同样还是差分的思想,由于每个点 能对其产生的点的深度是相同的(假设为$x$
阅读全文
摘要:题意 三倍经验哇咔咔 " 137. 最小瓶颈路 加强版" " 6021. 「from CommonAnts」寻找 LCR" " 136. 最小瓶颈路" Sol 首先可以证明,两点之间边权最大值最小的路径一定是在最小生成树上 考虑到这题是边权的最大值,直接把重构树建出来 然后查LCA处的权值即可 输入
阅读全文
摘要:"题目链接" rmq求LCA,interesting。 一直没有学这玩意儿是因为CTSC的Day1T2,当时我打的树剖LCA 65分,~~gxb~~打的rmq LCA 45分。。。 不过rmq理论复杂度还是小一点的,就学一下把。 RMQ求LCA 我们要用到三个数组 $dfn[i]$:第$i$个节点位
阅读全文
摘要:Description yz是Z国的领导人,他规定每个地区的名字只能为26个小写拉丁字母的一个。由于地 区数有可能超过26个,便产生了一个问题,如何辨别名字相同的地区?于是yz规定,一个 地区的描述必须包含它的所有上级,且上级按次序排列。于是,一个地区的描述是一个字符 串。比如说,一个地区的名字为c
阅读全文
摘要:Description 给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径。 给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径。 Input 输入的第一行包含三个整数,分别表示N和M和Q 下接M行,每行三个
阅读全文
摘要:Network Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1495 Accepted Submission(s): 670 Problem
阅读全文
摘要:Distance Queries Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 14910 Accepted: 5245 Case Time Limit: 1000MS Description Farmer John's cow
阅读全文
摘要:Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 18652 Accepted Submission(s): 7268 Problem Descri
阅读全文
摘要:题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行
阅读全文