随笔分类 -  字符串--ac自动机

摘要:题:https://codeforces.com/contest/1437/problem/G 题意:首先给定n个模式串,每个模式串一开始价值为0,支持q个查询: [1, x, val ]:将x位置的模式串价值改为val; [2, s ] :找出在主串s中能匹配的模式串的最大值 分析: 将建立n个模 阅读全文
posted @ 2020-10-29 22:29 starve_to_death 阅读(184) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1400/problem/F 题意:给定只含有1~9的字符串s,问最少删除多少个字符能让字符串不含x-prime Substrings(定义见题面) 分析:因为x<=20所以可以将所有x-prime Substrings找出来(x== 阅读全文
posted @ 2020-08-28 15:05 starve_to_death 阅读(214) 评论(0) 推荐(0)
摘要:题:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2004 题意:给定n个模式串,m个询问,每个询问是“前缀+‘*’+后缀 ”的组合的串S,输出n个模式串中有几个和S是相同的,‘*’可以是0和或更多的字符组成 4 and abandon app 阅读全文
posted @ 2020-02-28 00:21 starve_to_death 阅读(199) 评论(0) 推荐(0)
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=2457 题意:给定n个模式串,给定一个主串,问最替换掉多少个字符使主串不包含模式串或输出“-1”表示没有可行的方案; 分析:给n个模式串建立ac自动机,考虑dp[i][j],表示长度为 i , j 节点变换为主 阅读全文
posted @ 2020-02-27 14:09 starve_to_death 阅读(191) 评论(0) 推荐(0)
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=2243 题意:给出m个模式串,求长度小于n的且存在模式串的字符串数有多少个(a~z) 分析:我们反着来,用总的减去不包含的,总的很容易想到,每个位置都有26个选择,所以是Σ1n26i 不包含的 这里 有解决恰好 阅读全文
posted @ 2020-02-17 23:29 starve_to_death 阅读(143) 评论(0) 推荐(0)
摘要:题:http://poj.org/problem?id=2778 题意:给定m个模式串,问长度为n的字符串不包含这些模式串的有几种可能 分析:因为n很大,所以考虑矩阵ksm来解决,构造一个矩阵res[i][j]表示从i到j有多少种方案数,我们先考虑只走1步后的res数组的构造,i节点能走到j节点当且 阅读全文
posted @ 2020-02-17 16:01 starve_to_death 阅读(353) 评论(0) 推荐(0)
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=2896 分析:ac自动机模板 注意细节,1、128个ascii码都要; 2、只要关键码含有只输出一个编号就行 #include<iostream> #include<queue> #include<algori 阅读全文
posted @ 2020-02-05 21:54 starve_to_death 阅读(145) 评论(0) 推荐(0)
摘要:题:https://ac.nowcoder.com/acm/contest/4010/K 题意:用一些模式串凑成一个目标串,每个模式串有消耗,问组合的最小消耗,或不能组成输出-1; 分析:典型的AC自动机处理后在跳fail的过程中进行操作,这里操作就是dp计算最小。用dp[i]表示长串前ii位的最小 阅读全文
posted @ 2020-02-03 23:55 starve_to_death 阅读(202) 评论(0) 推荐(0)
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=2222 学习出:https://bestsort.cn/2019/04/28/402/ 主要是fail的建立。在跳的过程就是不断跳fail,而不是跳到一个fail再往下!! #include<iostream> 阅读全文
posted @ 2020-02-03 15:03 starve_to_death 阅读(151) 评论(0) 推荐(0)