Description 给定一棵n个点的树,边具有边权。要求作以下操作: DIST a b 询问点a至点b路径上的边权之和 KTH a b k 询问点a至点b有向路径上的第k个点的编号 有多组测试数据,每组数据以DONE结尾。 Input 第一组数据包含一个整数$T$,代表有$T$组测试数据。$1\ ...
分类:
其他好文 时间:
2018-10-20 22:09:26
阅读次数:
216
树状数组 + dp 设$f_i$表示以$i$为根的子树中的能选取的最大和,$sum_x$表示$\sum_{f_y}$ ($y$是$x$的一个儿子),这样子我们把所有给出的链按照两点的$lca$分组,对于每一个点$x$,$sum_x$显然是一个$f_x$的一个备选答案,而当有树链的$lca$正好是$x ...
分类:
其他好文 时间:
2018-10-19 23:38:44
阅读次数:
155
<题目链接> 题目大意: 给出一棵树,问任意两个点的最近公共祖先的编号。 解题分析:LCA模板题,下面用的是在线倍增算法求解。 2018-10-18 ...
分类:
其他好文 时间:
2018-10-19 02:17:52
阅读次数:
167
不同数据库系统对函数的差异是非常大的,不仅同样功能的函数在不同数据库系统中的名称不同,而且一些高级的函数也并不是在所有数据库系统中都有提供支持。比如将一个字符串转换为小写的函数在MYSQL,MSSQLServer 和Oracle 中为LOWER,而在DB2 中则为LCASE;MYSQL 中支持IF ...
分类:
其他好文 时间:
2018-10-19 02:17:45
阅读次数:
165
目的 解决树上多组关于某些点的询问,复杂度是关于每次询问点的个数的和的 思路 把每次询问的点和某些lca(即关键点)浓缩到虚树上,两点之间的连边包含原树中两点间路径的信息,再在虚树上暴力(?)处理 做法 先按照dfs序排序,这样可以保证做到不在某点子树中的点时,它的子树中的点都已经做完了 用一个栈来 ...
分类:
其他好文 时间:
2018-10-18 18:06:16
阅读次数:
105
"题目链接" 题意:给一张无向图和$M$个询问,问$u,v$之间的路径的必经之点的个数。 对图建出圆方树,然后必经之点就是两点路径经过的原点个数,用$(dep[u]+dep[v] dep[LCA] 2)/2+1$即可算出。 什么你不知道圆方树~~(说的跟我知道一样)~~ $APIO2018$出来的黑 ...
分类:
其他好文 时间:
2018-10-18 11:02:26
阅读次数:
234
此题还有LCA+tarjin离线查询做法,详见这里 关于ST表 解决RMQ问题,dp[i][j]表示从第i位开始长度为(1<<j)的区间的最值 维护的时候采用倍增思想,维护dp[i][j+1]=opt(dp[i][j],dp[i+(1<<j)][j]) 查询的时候,两端点为l,r,则长度len=r- ...
分类:
其他好文 时间:
2018-10-17 11:12:11
阅读次数:
177
题目链接:https://www.luogu.org/problemnew/show/P2245 = 货车运输 被逼着写过mst+lca 后来成了mst+树剖 include include include include using namespace std; const int maxn = ...
分类:
其他好文 时间:
2018-10-17 11:04:24
阅读次数:
188
前言 LCA的求法有多重多样,总结下来是下面这4种.希望大家可以加油! 暴力求LCA 我们考虑dfs求出每一个点的父亲(在当前根下),然后直接先暴力跳到同一个深度,再同时跳 树链剖分求LCA 考虑把一个树分成轻链与重链,然后直接跳链就好了. Tarjan求LCA 考虑把每一个询问当做一条边处理,那么 ...
分类:
其他好文 时间:
2018-10-16 19:56:28
阅读次数:
453