Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definition of LCA on Wikipedia ...
分类:
其他好文 时间:
2016-05-07 20:53:31
阅读次数:
127
题意:给定一个无向图,然后求两点之间的路径中权值最大的边的最小值 正解:最小生成树+倍增lca 望着这道题10分钟之后感觉做不到一眼秒题,老老实实画图,结果发现我真是太弱了,居然没有发现满足题意的条件竟然是最小生成树的性质。。。 显然先构出最小生成树,其他的边是没有用的,可以删掉。 构出最小生成树之 ...
分类:
Web程序 时间:
2016-05-07 15:00:11
阅读次数:
201
考场上写了lct,可惜当时对标记永久化的理解并不是十分深刻,导致调一个错误的程序调了4h+,最后这道题爆0了QwQ 现在写了树链剖分,用标记永久化的线段树维护轻重链,对于$s\rightarrow lca$,$lca\rightarrow t$分开讨论,把$a×dist+b$这个式子打开,提出常数项 ...
分类:
其他好文 时间:
2016-05-07 13:30:18
阅读次数:
223
终于写了一点干货,这题终于不是水题了 题目戳这里 题目大意就是给你一个图,然后找到两点之间所有路径中边权最大值最小的那一条,输出最小值。 一开始一看最大值最小就用二分答案弄了一遍,结果没看数据范围只有40分QAQ 然后正解是先构造一颗最小生成树,再在树上求lca 为什么呢?我是用反证法考虑的。假如由 ...
分类:
其他好文 时间:
2016-05-07 13:26:48
阅读次数:
283
题目大概说一棵边有方向的树,q个询问,每次询问结点u是否能走到v。 倍增LCA搞即可: 除了par[k][u]表示u结点往上走2k步到达的结点, 再加上upp[k][u]表示u结点往上走2k步经过边的状态:-1表示边都是向下,1表示都是向上,0混合。 这样u、v都往LCA上走就能知道u是否能走到v了 ...
分类:
其他好文 时间:
2016-05-07 12:54:56
阅读次数:
250
真正的失败不是你没有做成事,而是你甘心于失败。...
分类:
其他好文 时间:
2016-05-07 10:03:05
阅读次数:
199
题目:http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3195
题意:给定一个树,求三点之间的距离
思路:假定三点为u, v, w,那么(dist[u,v] + dist[v,w] + dist[u,w]) / 2就是答案
总结:wa时不要灰心,也许你离ac不远了
#include
#includ...
分类:
其他好文 时间:
2016-05-07 06:56:42
阅读次数:
281
一个长度为$|S|$的串在树上匹配有两种情况: 1.在LCA处转弯,那么这种情况只有$O(|S|)$次,暴力提取出长度为$2|S|$的链进行KMP即可。 2.不转弯,那么可以拆成两个到根路径的询问。 对所有串的正反串建立AC自动机,求出fail树上每个点的DFS序。 然后DFS原树,记录在AC自动机 ...
分类:
其他好文 时间:
2016-05-07 06:33:37
阅读次数:
279
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 ...
分类:
其他好文 时间:
2016-05-06 19:09:48
阅读次数:
164
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According to the definition of LCA on Wikipedia: “The lowes ...
分类:
其他好文 时间:
2016-05-05 09:33:23
阅读次数:
130