当前位置: 首页 > news >正文

SAM详解2.1(好题1)

SAM

  • SAM
      • 题目
    • 一个性质
    • 求解 k 小串

SAM

你可能需要先看一看前面两篇文章。

SAM详解1

SAM详解2(初级应用)

题目

题目链接

题意:给你一个字符串 s s s,求它的字典序第 k k k 小子串。注意需要分别处理两种情况,一种相同的字串只算一次,一种算多次。

数据范围: 1 ≤ ∣ s ∣ ≤ 5 × 1 0 5 , 1 ≤ k ≤ 1 0 9 1\le |s| \le 5\times 10^5,1\le k\le10^9 1s5×105,1k109

一个性质

周所周知,SAM 是一个 DAG。

而且有一个显然的性质:SAM 中任意两个节点的表示集合没有交。

所以,从某个节点(不一定要求是源点)出发的路径组成的串,都是互不相同的,如果相同的话,就违背了上述性质。

于是我们可以在这个 DAG 上统计路径条数,也就是子串的数量。

f [ u ] f[u] f[u] 表示从 u u u 出发的路径数。则显然有 DP 式子: f [ u ] = ∑ f [ s o n [ u ] ] f[u]=\sum f[son[u]] f[u]=f[son[u]]

对于本质不同子串,我们可以把所有 f [ u ] f[u] f[u] 设置为

相关文章:

  • 安卓基础(XML)
  • 六、Hadoop初始化与启动
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • Java 对象克隆(Object Cloning)详解
  • 基于LSTM与SHAP可解释性分析的神经网络回归预测模型【MATLAB】
  • AI学习路径
  • Ubuntu 服务器管理命令笔记
  • 查看单元测试覆盖率
  • SHA系列算法
  • C PRIMER PLUS——第6-2节:二维数组与多维数组
  • 算法中的数学:约数
  • mobile自动化测试-appium webdriverio
  • 【deepseek教学应用】001:deepseek如何撰写教案并自动实现word排版
  • 单体架构实现延时任务
  • 《Zabbix Proxy分布式监控实战:从安装到配置全解析》
  • 删除链表倒数第N个节点
  • 微信小程序上传视频,解决ios上传完video组件无法播放
  • iPhone手机连接WiFi异常解决方法
  • 森林生态学研究深度解析:R语言入门、生物多样性分析、机器学习建模与群落稳定性评估
  • 缓存局部性保留
  • 金融政策支持稳市场稳预期发布会即将召开,潘功胜、李云泽、吴清将出席
  • “五一”假期国内出游3.14亿人次,国内游客出游总花费1802.69亿元
  • 光明日报头版评论:让投身西部成为青春潮流
  • 安徽安庆市委书记张祥安调研假日经济和旅游安全工作
  • 叙利亚多地遭以色列空袭
  • 欢迎回家!神十九返回舱成功着陆