给定一个只用小写字母组成的串$S$,求出$S$中所有出现次数大于$1$的子串的出现次数与它的长度的乘积的最大值。
$\texttt{Data Range:}\vert S\vert \leq 10^6$
链接
题解
首先把后缀自动机建出来,然后考虑对每个自动机上的节点求一遍$\texttt{size}$,答案就是$\max\{len\times size\}$啦qwq
顺便说一句,这种方法会在后面的文章上频繁使用,注意!
代码
1 |
|
技不如人,被吊打
给定一个只用小写字母组成的串$S$,求出$S$中所有出现次数大于$1$的子串的出现次数与它的长度的乘积的最大值。
$\texttt{Data Range:}\vert S\vert \leq 10^6$
首先把后缀自动机建出来,然后考虑对每个自动机上的节点求一遍$\texttt{size}$,答案就是$\max\{len\times size\}$啦qwq
顺便说一句,这种方法会在后面的文章上频繁使用,注意!
1 | #include<bits/stdc++.h> |