这是我做的第一道虚树题啊,赶脚不错.其实虚树也没什么奇怪的,就是每棵树给你一些点,让你多次查询,但是我不想每次都O(n),所以我们每次针对给的点建一棵虚树,只包含这些点和lca,然后在这棵虚树上进行树形dp,维护每个点的最小连边权值,这样的复杂度就会降低不少.这里我写了两种写法(其实都是抄的),一种 ...
分类:
其他好文 时间:
2018-12-13 10:27:21
阅读次数:
186
Zwi?zek Harcerstwa Bajtockiego bzoj-4281 ONTAK-2015 题目大意:给定一棵有n个点的无根树,相邻的点之间的距离为1,一开始你位于m点。之后你将依次收到k个指令,每个指令包含两个整数d和t,你需要沿着最短路在t步之内(包含t步)走到d点,如果不能走到,则 ...
分类:
其他好文 时间:
2018-12-11 11:20:09
阅读次数:
207
这是悦乐书的第 197 次更新,第 203 篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第59题(顺位题号是235)。给定二叉搜索树(BST),找到BST中两个给定节点的最低共同祖先(LCA)。根据维基百科上LCA的定义:“最低共同祖先在两个节点p和q之间定义为T中的 ...
分类:
编程语言 时间:
2018-12-10 11:49:00
阅读次数:
191
需求: 至少选择一件 最多选择3件 这个比较简单,就不多说了,直接上代码 wxml js wxss ...
分类:
微信 时间:
2018-12-08 13:26:24
阅读次数:
186
Executor是Mybatis的一个核心接口,每一个SqlSession对象都会拥有一个Executor(执行器对象);这个执行对象负责[增删改查]的具体操作,我们可以简单的将它理解为JDBC中Statement的封装版。它的代码如下: Executor的继承结构 Executor的类图如下所示: ...
分类:
数据库 时间:
2018-12-07 21:55:53
阅读次数:
311
http://acm.hdu.edu.cn/showproblem.php?pid=2586 给出一颗树和边权,询问两点距离。 考虑tarjan离线做法,做法很巧妙,当前进行到u,对他的儿子v,当v子树tarjan完成之后把v合并到u上。当遍历完所有v之后,对与u有关的询问进行查找,若第二个询问点v ...
分类:
其他好文 时间:
2018-12-06 20:44:22
阅读次数:
167
LCA:最近公共祖先 指在有根树中,找出某两个结点u和v最近的公共祖先 如图,5,7的最近公共祖先就是3 接下来,我们来了解如何求解LCA No.1 暴力 首先想到的肯定是暴力,我们搜索,从两个节点一步一步向上爬。 待你爬到之时,你自然会感到TLE的魅力 复杂度:O(nm)(最坏) No.2 倍增法 ...
分类:
其他好文 时间:
2018-12-02 12:02:47
阅读次数:
274
树链剖分 write by:BigYellowDog、lsy263 预备知识 预备知识:DFS序、LCA原理、线段树 线段树的作用是为了维护区间,所以这里不一定是线段树,还可以是其它维护区间的数据结构 PS:如果你大致掌握了上述知识,树剖10分钟就可以理解。当然,如果没掌握,树剖还是有点难理解的。所 ...
分类:
其他好文 时间:
2018-12-01 15:25:36
阅读次数:
140
树链上区间合并的问题比区间修改要复杂,因为每一条重链在线段树上分布一般都是不连续的,所以在进行链上操作时要手动将其合并起来,维护两个端点值 处理时的方向问题:lca->u是一个方向,lca->v是另一个方向,到最后合并这两个放向时都看左端点即可 ...
分类:
其他好文 时间:
2018-11-30 20:11:30
阅读次数:
246
Description 给定一个有n个结点的树,Q个询问,每次询问点x与点y之间的最短距离。 Input 第一行一个n,接下来n 1行,每行两个整数x,y,表示x,y之间有一条边。然后是Q,接下来Q行每行两个数x,y 表示询问x到y的距离 Output 输出Q行,每行针对每个询问的结果 Hint n ...
分类:
其他好文 时间:
2018-11-30 17:36:43
阅读次数:
209