题目: 1.SEVERINA 【题目描述】 告诉一个文本串和N个模式串,要求文本串由若干可以重复的模式串首尾相接而成的方案数模1 337 377。 【输入格式】 第一行为文本串。 第二行为一个整数N,表示有N个模式串。以下N行,每行一个模式串,任意两个模式串不相同,且不存在其它任何字符。文本串和模式 ...
分类:
其他好文 时间:
2017-09-26 21:20:35
阅读次数:
252
Query on a string 题意,给定一个大字符串,给定一个小模式串,定义 两种不同的任务模式,分别是查询和更改: 查询对应区间内,有多少个匹配到位的数字; 修改某一位的某一个字母。 于是直觉告诉我们是KMP,而且需要一个单点更新,动态查询的数据结构——直觉上认为树状数组比较合适执行这个任务 ...
分类:
其他好文 时间:
2017-09-26 01:00:33
阅读次数:
137
传送门 AC自动机加DP就不说了 注意到 m <= 10,所以模式串很少。 而 n 很大就需要 log 的算法,很容易想到矩阵。 但是该怎么构建? 还是矩阵 A(i,j) = ∑A(i,k) * A(k,j),那么i到j的方案数就是j到k的方案数称k到j的方案数,那么直接矩阵快速幂即可 ...
分类:
其他好文 时间:
2017-09-14 21:36:40
阅读次数:
174
题意: 反正就是给出一个T,然后每个T:一个n,一个m,表示主串的数字数量和模式串的数字数量,求第一个匹配的位置。 思路: KMP模板套套就好啦。 参考代码: 1 #include <iostream> 2 #include <vector> 3 #include <map> 4 #include ...
分类:
其他好文 时间:
2017-09-14 21:32:31
阅读次数:
167
题意:给出一些不合法的模式DNA串,给出一个原串,问最少需要修改多少个字符,使得原串中不包含非法串。 解题关键:多模式串匹配->AC自动机,求最优值->dp,注意在AC自动机上dp的套路。 AC自动机上的每个节点其实就是一种状态,进行模式匹配其实就是进行边的匹配 令$dp[i][j]$表示字符串长度 ...
分类:
其他好文 时间:
2017-09-14 10:33:12
阅读次数:
186
题目大意:求长度为$M$的用$'A'-'Z'$组成的字符串中至少含有给出的N个模式串之一的个数。 传送门 似乎不那么裸的AC自动机题目都是在自动机上跑DP。。。 直接求解不好算,我们可以用$26^M$减去不含模式串的个数。 建好自动机,设f[i][j]表示走i步,现在在j号节点的路径条数。 那么f[ ...
分类:
Web程序 时间:
2017-09-12 16:08:31
阅读次数:
235
/** 题目:hdu3065 病毒侵袭持续中 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:N(N using namespace std; #define P pair #define ms(x,y) memset(x,y,sizeof ... ...
分类:
其他好文 时间:
2017-09-12 13:37:20
阅读次数:
197
/** 题目:hdu2896 病毒侵袭 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896 题意:N(N using namespace std; #define P pair #define ms(x,y) memset(x,y,sizeof x) ... ...
分类:
其他好文 时间:
2017-09-12 12:19:09
阅读次数:
260
题目大意: 给出多个模式串和一个主串,求多少个模式串在主串中出现过。 传送门 这是一道AC自动机的模板题。 在学习AC自动机之前,首先要学习WA自动机、TLE自动机和MLE自动机(雾 AC自动机是一种多模式串匹配算法。 AC自动机概述: *fail指针:指向失配时的匹配节点; 1)构建字典树 2)初 ...
分类:
其他好文 时间:
2017-09-06 14:29:19
阅读次数:
177