"传送门" T=0,就是求本质不同,后缀数组经典用法 T=1,二分解决 代码: ...
分类:
其他好文 时间:
2019-03-04 20:58:24
阅读次数:
163
题目大意: 给定一个字符串,求它的第k小子串。 思路: 后缀自动机的模板题。 考虑将后缀自动机建出来之后,求出每一个状态在原串中出现了多少次,然后统计以每个节点往后拓展的字符串总共有多少种(按照拓扑序累加即可),最后直接在DAG上做类似二分的就好了。 cpp / ================== ...
分类:
其他好文 时间:
2019-02-09 17:40:53
阅读次数:
184
[bzoj 3998][TJOI2015]弦论 SAM... ...
分类:
其他好文 时间:
2019-01-27 01:10:38
阅读次数:
196
题目链接 "戳我" $Describe$ 题目描述 为了提高智商,$ZJY$开始学习线性代数。她的小伙伴菠萝给她出了这样一个问题:给定一个$n×n$的矩阵$B$和一个$1×n$的矩阵$C$。求出一个$1×n$的$01$矩阵$A$。使得$D=(A B C) A^T$ 最大,其中$A^T$为$A$的转置 ...
分类:
其他好文 时间:
2019-01-17 10:16:45
阅读次数:
202
"题面" 题解 要求的是 $$ \sum_{i=1}^n\sum_{j=1}^na_ia_jb_{i,j} \sum_{i=1}^na_ic_i $$ 可以看出这是一个最大权闭合子图问题 代码 cpp include include include include define RG registe ...
分类:
其他好文 时间:
2019-01-14 23:02:42
阅读次数:
222
"传送门" 对于SAM上的一个状态,我们可以求出这个状态对应着多少子串,这个很好做,我们只要每次统计一下他所有的转移把对应情况加上就好。 我们首先对SAM上的状态进行拓扑排序(虽然说是拓扑排序但是实际上可以用基数排序完成,以每个状态对应的最大后缀长度为关键字)。之后对于情况1,我们在跳parent树 ...
分类:
其他好文 时间:
2019-01-12 22:56:52
阅读次数:
150
我们先求出该字符串的$SA$和$Ht$ 然后分类讨论 $T=0$时,每次去掉$Ht$往后扫就行 $T=1$时,我们考虑$lcp$对答案的影响 既然用到$lcp$,那就要用$ST$表维护 左端点固定时,随右端点的增大,区间$\min$单调不升 我们就可以用二分+限制右端点的方式统计某个后缀的前缀的贡献 ...
分类:
其他好文 时间:
2019-01-05 12:07:10
阅读次数:
173
$SA+SAM$ 第一问显然是一个$SAM$的经典问题,我们排完序之后直接使用一直往下找$n+1 sa[i] het[i]$就好了,找到$K$减不动了输出就好了 第二问是$SAM$的经典问题,我们在$SAM$上求出子树和跑一遍$dfs$就好了,每层都贪心的减$K$,减不动就停下来好了 代码 ...
分类:
其他好文 时间:
2019-01-01 19:56:53
阅读次数:
189
解法一:后缀数组 听说后缀数组解第k小本质不同的子串是一个经典问题。 把后缀排好序后第i个串的本质不同的串的贡献就是$n sa[i]+1 LCP(i,i 1)$然后我们累加这个贡献,看到哪一个串的时候,这个贡献的和大于等于k,然后答案就在这个串里了,然后枚举就行了。 那么第k小子串该怎么办? 我们考 ...
分类:
编程语言 时间:
2018-12-31 23:43:17
阅读次数:
257
Description 为了提高智商,ZJY准备去往一个新世界去旅游。这个世界的城市布局像一棵树。每两座城市之间只有一条路径可 以互达。每座城市都有一种宝石,有一定的价格。ZJY为了赚取最高利益,她会选择从A城市买入再转手卖到B城市 。由于ZJY买宝石时经常卖萌,因而凡是ZJY路过的城市,这座城市的 ...
分类:
其他好文 时间:
2018-12-30 02:48:52
阅读次数:
188