随笔分类 -  字符串—Manacher

摘要:传送门 题目大意:求最长回文串 题解:Manacher 代码: 阅读全文
posted @ 2019-12-08 13:05 ANhour 阅读(224) 评论(0) 推荐(0)
摘要:想要成为我的master嘛? 题目大意:用最少的回文串覆盖整个字符串,可重叠。 题解:Manacher+贪心 md最近好几个线段覆盖的题都没看出来。 Manacher算出以每个字符为中心的回文串,就是一个线段,计算出左端点i-Len[i]+1和 右端点i+Len[i]-1,然后贪心用每个线段覆盖区间 阅读全文
posted @ 2017-10-16 21:55 ANhour 阅读(188) 评论(0) 推荐(0)
摘要:传送门 题目大意:求最长的连续的两个回文串的长度 题解:Manacher+枚举 首先知道两个连续回文串的中间的那个字符一定是‘#’。 然后枚举‘#’。看以这个字符为中心,左右最长的回文串 有多长。 now+Len[now]>i时,那么以now为中心的回文串是在i左边 的,尽管超出了i,可以左右砍掉嘛 阅读全文
posted @ 2017-10-16 21:47 ANhour 阅读(150) 评论(0) 推荐(0)
摘要:2160: 拉拉队排练 Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训练好拉拉队有多么的重要。拉拉队的选拔工作已经结束,在雨荨和校长的挑选下,n位 阅读全文
posted @ 2017-10-16 15:14 ANhour 阅读(256) 评论(0) 推荐(0)
摘要:本文部分图片来源 代码来源(代码是学姐哒.. 一、引入 Manacher算法是用来求最长回文子串的算法,时间复杂度O(n)。 回文子串指的是''aacaa'',''noon'',这种正着反着读都一样的。 二、构造字符串 朴素的求法是O(n^2),以某个字符为中心,向左右扩展,如下图所示。 对于长度为 阅读全文
posted @ 2017-10-15 21:49 ANhour 阅读(179) 评论(0) 推荐(0)
摘要:2342: [Shoi2011]双倍回文 Description Input 输入分为两行,第一行为一个整数,表示字符串的长度,第二行有个连续的小写的英文字符,表示字符串的内容。 输入分为两行,第一行为一个整数,表示字符串的长度,第二行有个连续的小写的英文字符,表示字符串的内容。 Output 输出 阅读全文
posted @ 2017-10-15 21:45 ANhour 阅读(167) 评论(0) 推荐(0)