随笔分类 -  字符串 回文树

摘要:【题意】给定只含小写字母的字符串s,定义价值为回文子串的长度*出现次数,求最大价值。n<=3*10^5。 【算法】回文树 【题解】回文树上一个点的被访问次数是其作为最长回文子串的出现次数。 将fail边反向连接建树后,每个点的子树访问次数和就是这个回文子串的出现次数,可以dfs解决。 注意:要从-1 阅读全文
posted @ 2017-12-27 19:03 ONION_CYC 阅读(367) 评论(0) 推荐(1)
摘要:【题意】给定小写字母字符串s,求最长的 [ 可以分成左右两个回文串的 ] 子串,n<=10^5。 【算法】回文树 【题解】对于每个字符x,处理出以x结尾的最长回文串,以x开头的最长回文串,然后枚举中间点求解。 只须正反用两次回文树就可以处理完毕。 #include<cstdio> #include< 阅读全文
posted @ 2017-12-10 19:20 ONION_CYC 阅读(250) 评论(0) 推荐(0)
摘要:把字符串原样复制一遍放在后面是惯用套路,此时字符串数组开两倍! ★字符串算法的核心是构造失配指针! 【字符串哈希】 双蛤习取模保险,毕竟连自然溢出都是能卡的…… 例题:【CodeForces】961 F. k-substrings 字符串哈希+二分 用于O(1)判断两个字符串是否相等:对于s[i~j 阅读全文
posted @ 2017-03-25 22:47 ONION_CYC 阅读(526) 评论(0) 推荐(1)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2144) 评论(0) 推荐(6)