扩展KMP
芋智波佐助
菜鸟一只
展开
-
HDU 3613 Best Reward 正反两次扩展KMP
题目来源:HDU 3613 Best Reward 题意:每个字母对应一个权值 将给你的字符串分成两部分 如果一部分是回文 这部分的值就是每个字母的权值之和 求一种分法使得2部分的和最大 思路:考虑扩展KMP 输出a串 得到a的反串b 求出f[0]和f[1] 和 extend[0]和extend[1] 正反求2次 枚举位置i 分成2部分0到i-1 和i到n-1 因为分成的2部分必须组成原字符原创 2014-07-24 14:00:04 · 966 阅读 · 0 评论 -
HDU 4333 Revolving Digits 扩展KMP
题目来源:HDU 4333 Revolving Digits 题意:求一个数字循环移动后有多少个不同的小于 等于 大于的数字 思路:扩展KMP求出S[i..j]等于S[0..j-i]的最长前缀 判断 next[i] 大于等于n就是相同 小于n判断S[next[i]]和S[next[i]+i]的大小 next数组的含义就是S字符串以i开始的和S本身(以0开始)的最长公共前缀 把题目输入的复制一原创 2014-07-24 10:13:57 · 839 阅读 · 0 评论