关于一类字符串算法 - 马拉车 Z函数 的一点想法
感觉马拉车和 Z 函数才是最像的。
都是相当于把每个拓展出来的字符的时间复杂度都均摊到最左边的匹配到它的。
即,相当于考虑当前已知的字符串(全部已经用于拓展过了),然后对于一个新的 \(i\),通过之前的先快速求出 \(r_i\) 的下界,若在边界上则拓展可均摊,否则已经确定。
那么需要的是不在边界上就不能拓展和可以快速求出以边界为限的右端点。
感觉马拉车和 Z 函数才是最像的。
都是相当于把每个拓展出来的字符的时间复杂度都均摊到最左边的匹配到它的。
即,相当于考虑当前已知的字符串(全部已经用于拓展过了),然后对于一个新的 \(i\),通过之前的先快速求出 \(r_i\) 的下界,若在边界上则拓展可均摊,否则已经确定。
那么需要的是不在边界上就不能拓展和可以快速求出以边界为限的右端点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗