SAM 经典题。
考虑建出 SAM,第 kkk 小的子串其实就是自动机上从起点开始字典序第 kkk 小的路径上的字符串。
因此可以考虑设 fif_ifi 表示从 iii 出发的不同路径个数,那么 fu=1+∑(u,v)∈SAMfvf_u = 1 +\sum \limits_{(u,v) \in \text{SAM}} f_vfu=1+(u,v)∈SAM∑fv,即 fvf_vfv 的每条路径都能从 uuu 出发到达,同时还有一条从 uuu 不经过任何其他边的路径,即一条为 uuu 的路径。
接着从起点开始,类似平衡树 kkk 小值维护即可。复杂度线性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现