摘要: 定义 线段树是常用来维护区间信息的数据结构。 线段树可以在$O(logN)$的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 实现 以数组 arr{9,3,-1,8,4,-2} 为例 (下标从 1 开始) 存储 //区间[L,R], w表示维护的数据, 阅读全文
posted @ 2019-08-27 16:05 Vivid-BinGo 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 简介 Manachar 算法在 O(n) 时间处理出以字符串中每一个字符为中心的回文串半径。Manacher 算法通过将原字符串每个字符的左右两边都插入一个分隔符的方式,将长度为奇数的回文串和长度为偶数的回文串一起考虑。(分隔符不在原串中出现,一般情况下可以用 # 号代表) 预处理 实现 马拉车的主 阅读全文
posted @ 2019-08-27 11:13 Vivid-BinGo 阅读(419) 评论(0) 推荐(0) 编辑