摘要: 题意 N<=500000 题解 维护一个set可以用堆来解决。 阅读全文
posted @ 2018-08-29 16:25 Xu-daxia 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个由小写拉丁字母组成的字符串 s。我们定义 s 的一个子串的存在值为这个子串在 s 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 s,求所有回文子串中的最大存在值。 |S|<=300000 题解 裸的回文树,我们在每一个节点结束的最长回文后缀上记录一个cnt代表出现次数。 这个 阅读全文
posted @ 2018-08-29 14:58 Xu-daxia 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个长度为N的字符串S。对于一个字符串AB,如果A和B都是回文串,那么称AB是一个双回文串。求问S最长双回文子串的长度?N <= 100000 题解 正反双向构造回文自动机,得到某一个点为结尾和开始的最长回文串长度,记为f[i],g[i]; 答案就是f[i]+g[i+1]的最大值。 阅读全文
posted @ 2018-08-29 10:47 Xu-daxia 阅读(213) 评论(0) 推荐(0) 编辑