摘要: 手完一下发现对于两个点求 LCA 来说,最优策略是对于 DFS 序相近的两个点去求. 所以把所有点按照 DFS 序排序,然后相邻两个依次求一下就行了. code: #include <bits/stdc++.h> #define ll long long #define N 100007 #defi 阅读全文
posted @ 2020-06-03 15:48 EM-LGH 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机的做法很显然:建出后缀树,线段树合并,然后倍增的时候更新答案就行. 后缀数组的做法也挺显然:二分答案,然后用主席树判定一下 $[a,b-mid+1]$ 是否有值即可. code: #include <bits/stdc++.h> #define N 200006 #define lson 阅读全文
posted @ 2020-06-03 10:34 EM-LGH 阅读(263) 评论(0) 推荐(0) 编辑