基本性质 每个状态中字符串的 endpos 集合相同。 接受字符串的所有子串。 后缀树上两个结点的 lca 即为两字符串的最长公共后缀。 匹配字符串 维护当前匹配长度,失配时跳父亲即可。 后缀树 可以用 LCT 来维护信息。 记录字符串右端点对应的前缀在后缀树的位置,通过倍增快速找到该字符串所在状态 ...
分类:
其他好文 时间:
2021-05-03 12:26:25
阅读次数:
0
https://www.serverless.com/learn/comparisons/ Docker Docker packages software into standardized units (containers) to make it easier to manage applica ...
分类:
其他好文 时间:
2021-05-03 11:49:54
阅读次数:
0
Mybatis入门 MyBatis和Hibernate一样,是一个优秀的持久层框架。已经说过很多次了,原生的jdbc操作存在大量的重复性代码(如注册驱动,创建连接,创建statement,结果集检测等)。框架的作用就是把这些繁琐的代码封装,这样可以让程序员专注于sql语句本身。 MyBatis通过X ...
分类:
其他好文 时间:
2021-04-29 11:51:02
阅读次数:
0
被迫营业。 对于树上的路径统计问题,我们一直存在一个比较暴力的做法,就是从根节点出发,先统计所有以根为 \(\text{lca}\) 的路径,然后依次递归每一棵子树,同时使用上面的方法。这个方法的复杂度显然是 \(O(n^2)\) 的,我们可以轻易的用一条链卡掉,于是问题来了,如果题目让我们统计所有 ...
分类:
编程语言 时间:
2021-04-26 13:15:20
阅读次数:
0
LCA — 欧拉序+ST表 \(O(n\log n)\) 预处理,\(O(1)\) 询问?。 \(lca(x,y)=\) 欧拉序中最早出现的 \(x\) 和 \(y\) 中间深度最浅的点。 Luogu P3379 #include <bits/stdc++.h> using namespace st ...
分类:
其他好文 时间:
2021-04-12 12:13:56
阅读次数:
0
补题链接:Here LCA 算法讲解:Here 考虑用 \(f[i][j]\) 表示从i往上走,能买珠宝的第 \(2^j\) 个点是哪个,显然,如果我们知道每个 $f[i][0]$的值, 那么 \(f[i][j]=f[f[i][j?1]][j?1]\) ( i 往上的第2 j?1 个点再往上 2j? ...
分类:
其他好文 时间:
2021-04-12 12:10:35
阅读次数:
0
I.II.[POI2014]HOT-Hotels 加强版 易于发现,三点间两两距离相等,当且仅当两个LCA较深的点到它们的LCA距离相等,且第三个点到该LCA的距离与前两个点相同。 于是我们设 \(f_{x,i}\) 表示 \(x\) 子树中有多少对点,它们到LCA距离相同,且上述距离比该LCA到 ...
分类:
其他好文 时间:
2021-04-10 12:52:44
阅读次数:
0
题目链接 题解 因为要进行异或运算,可以将$a$中的数按位存入二叉树中(有些像Trie树)。如题目样例一可存为如下的树: 据题意,$a_i$所连的边为与其异或值最小的元素,而该元素在二叉树中一定为与$a_i$相邻且与$a_i$的LCA最深的叶子节点。如上图中与$1$(第4层从左至右数第2个)连边的元 ...
分类:
其他好文 时间:
2021-03-08 13:20:54
阅读次数:
0
Problem 给定一棵树和若干个点对 \((u,v)\) 给出的树上最短路径,求满足 路径交仅有一个点 的 无序 路径对(即 \((a,b)\) 和 \((b,a)\) 算一次)。 Sol & Code 交仅为一个点只有两种情况:两条路径 LCA 在同一个点或不在同一个点。 分别计算。第一种使用容 ...
分类:
其他好文 时间:
2021-03-06 15:03:23
阅读次数:
0
从这题学到许多,故写题解以记之。(orz ix35) 分个类: 若 \(l\sim r\) 全是 \(p\) 的后代,则答案就是 \(p\) 到它们的 LCA 的距离; 若既有后代又有祖先,答案显然是 \(0\); 只有祖先的话,还要分两种情况:如果它们到 \(p\) 的路径的交是不是一条直链的话( ...
分类:
其他好文 时间:
2021-03-05 13:21:24
阅读次数:
0