LG5227 [AHOI2013]连通图 线段树分治板子。这种动态图的问题看都不要看,大概率可以用线段树分治。 我们有一堆的集合,每次把这个集合的边删掉,问你每个时刻的连通性。 我们只需要把这个时刻删去的集合里的边删掉,也就是这个区间不用加这条边,按常规把边扔到线段树上,遍历一下,每个点的连通性就出 ...
分类:
其他好文 时间:
2021-03-08 13:37:10
阅读次数:
0
题面 https://www.luogu.org/problem/P4248 题解 这里,提供后缀数组的做法。 ...
分类:
其他好文 时间:
2019-08-29 00:18:25
阅读次数:
80
Description 给定一个长度为 $n$ 的字符串 $S$,令 $Ti$ 表示它从第 $i$ 个字符开始的后缀。求 $\sum\limits_{1 \leq i include include include using namespace std; const int N = 500005; ...
分类:
其他好文 时间:
2019-04-13 20:28:43
阅读次数:
148
3235: [Ahoi2013]好方的蛇 链接 分析: 可以求出以每个点为顶点的满足条件的矩形有多少个,单调栈求。设为sum。 然后对这个数组进行二维前缀和,可以求出每个矩阵内,以右下角、左下角为端点的矩形有多少个,分别设为f,g。 然后可以枚举一个点(x,y),计算有多少个矩形的左上角是这个点,然 ...
分类:
其他好文 时间:
2019-03-04 11:28:49
阅读次数:
142
"传送门" 我一开始的想法是直接去求后面的$lcp(T_i,T_j)$,但是我不会…… 有一条性质:两个后缀的$lcp$就是他们在$parent$树上的$LCA$,而且出题人给这个式子其实是有目的的……我们把式子拆开,对于每一条边,我们赋一个权值为$l[i] l[fa[i]]$,这样的话我们只要求出 ...
分类:
其他好文 时间:
2019-01-12 22:56:59
阅读次数:
241
这个题一看就是为后缀家族设计的 我们看到我们要求的这个柿子 $$\sum_{i=1}^n\sum_{j=i+1}^nT_i+T_j 2\times lcp(T_i,T_j)$$ 显然的是前面的那些东西是个定值 就是保证每一个长度都会被其他长度算到,也就是算到$n 1$次 于是把前面那些东西拿出来就是 ...
分类:
其他好文 时间:
2019-01-01 21:08:31
阅读次数:
191
题面 题解 $ \because \sum_{1 \leq i < j \leq n} i + j = \frac{n(n-1)(n+1)}2 $ 所以只需求$\sum lcp(i,j)$即可。 $ \because lcp(i,j)=\min_{rank[i] \leq k \leq rank[j ...
分类:
其他好文 时间:
2018-12-24 16:18:24
阅读次数:
143
"传送门" 其实要求的东西就是后缀树上所有叶子对的距离之和.构建反串SAM,然后构建parent树(原串后缀树),然后就是树型dp的事,~~具体细节留给读者自行思考~~ ~~那个,不会看代码啊~~ cpp include define LL long long define il inline de ...
分类:
其他好文 时间:
2018-12-16 21:42:06
阅读次数:
142
P4248 [AHOI2013]差异 题目描述 给定一个长度为 $n$ 的字符串 $S$,令 $T_i$ 表示它从第 $i$ 个字符开始的后缀。求 $$\displaystyle \sum_{1\leqslant i include include define ll long long const ...
分类:
其他好文 时间:
2018-12-15 15:46:57
阅读次数:
203
$\sum_{i include include include include include using namespace std; typedef long long ll; const int maxn=1e6+100; struct SA{ int sa[maxn],tp[maxn],r ...
分类:
其他好文 时间:
2018-11-29 23:19:23
阅读次数:
208