博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: 题目链接: "简单版" , "增强版" 简单版: cpp include include const int N=1e6+5,S=26; char s[N]; struct AC_Automaton { int cnt,q[N],val[N],fail[N],las[N],son[N][S]; // 阅读全文
posted @ 2018-03-08 19:10 SovietPower 阅读(242) 评论(0) 推荐(1) 编辑
摘要: "题目链接" $Description$ 求给定字符串中 最长的k个回文串长度的乘积(要求回文串长度为奇数);若奇数长度回文串不足k个则输出 1.(len include define rg register define mod 19930726 typedef long long LL; con 阅读全文
posted @ 2018-03-08 16:05 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 设f[i][j]为当前是第i位考号、现在匹配到第j位(已有j 1位和A[]匹配)的方案数 因为假如当前匹配j位,如果选择的下一位与A[j+1]不同,那么新的匹配位数是fail[j]而不是0,那么设由匹配j位转移到匹配k位的方案数为t[j][k] 那么 $f[i][j] = ∑f[i 1 阅读全文
posted @ 2018-03-08 14:48 SovietPower 阅读(188) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 896kb 6816ms A+B+A是KMP的形式,于是固定左端点,对于每个位置i,若fail[i]所能到的点k中(k=fail[fail[fail[...]]]),有满足len(l~k)+len(i k+l 1,i)=K,则i满足条件 每个位置仅计算一次 就很好做了 O( 阅读全文
posted @ 2018-03-08 10:44 SovietPower 阅读(143) 评论(0) 推荐(0) 编辑