排序:
默认
按更新时间
按访问量

UVA 1078 Password Suspects(AC自动机+dp)

状态方程d[u][len][st],代表最后一个节点是u,长度为len,已经有st个串所能构成的密码数,记忆化搜索就行了。 #include #include #include #include #include typedef long long LL; using namespace std;...

2016-11-09 21:55:35

阅读数:118

评论数:0

UVA 1019 Matrix Matcher(AC自动机)

没想到这题有重复的行= =。#include #include #include #include #include using namespace std; const int maxnode=10000+5; int n,m,x,y; int tr; char T[1005][1005],P[...

2016-10-27 08:52:27

阅读数:77

评论数:0

UVA 11468 Substring(AC自动机+树上的动态规划)

这题pro数组开小了,一直TLE。 就是简单的记忆化搜索,走不是单词节点的点就可以,记得标出危险节点。#include #include #include #include #include using namespace std; const int maxnode=500; int idx[...

2016-10-26 10:31:03

阅读数:113

评论数:0

UVA 1449 Dominating Patterns(AC自动机)

p数组少开了一个,查了一小时。#include #include #include #include #include using namespace std; const int maxnode=11000; struct AC{ int ch[maxnode][26]; int...

2016-10-25 18:17:29

阅读数:70

评论数:0

HDU 5880 Family View(AC自动机)

#include #include #include #include using namespace std; const int maxn=1000000+100; char p[maxn]; int nxt[maxn][26],l[maxn],badnode[maxn],pre[maxn],...

2016-09-20 23:55:57

阅读数:86

评论数:0

POJ 2778 DNA Sequence(AC自动机+矩阵加速)

感觉这道题目动态规划也可以做。 不过矩阵更好,ans[i][j]代表从i到j走一步有多少种走法,n次幂代表从i到j走n步有多少种走法。 最后把ans[0][i]全部加起来就行。 但是ans是去掉危险结点的矩阵,如果一个结点的前驱结点是危险结点,那么它也是危险结点,因为走到他必然代表有子串被配对了。...

2016-09-06 14:49:34

阅读数:100

评论数:0

POJ 1625 Censored(AC自动机+dp)

状态ans[i][j]表示长度为i的字符串能达到j状态(非危险结点)的数量。 那么状态方程为ans[i+1][next]=ans[i+1][next]+ans[i][j],因为从i长度的串过度到i+1长度的串需要转到j的下一状态,并且该长度该状态有很多不同的串可以达到,所以要相加。 那么最后只要把...

2016-09-06 09:59:12

阅读数:90

评论数:0

POJ 3691 DNA repair(AC自动机+dp)

这道题实质上是指母串的DFA上跑一遍,不经过危险结点,要想完整跑下来最少需要修改几个字符。 有一个细节就是孩子结点为空时可以建立虚拟结点,那样就可以直接访问下面的结点了,不用前驱结点每次都去寻找。 状态方程是ans[i][j.son]=min{ans[i][j.son],ans[i-1][j]...

2016-09-05 15:58:57

阅读数:126

评论数:0

POJ 4052 Hrinity(AC自动机)

每次优化的时候标记尽量不一样,那样可以分的清楚一点。// // main.cpp // Richard // // Created by 邵金杰 on 16/9/4. // Copyright © 2016年 邵金杰. All rights reserved. // #include...

2016-09-04 10:47:41

阅读数:208

评论数:0

POJ 3987 Computer Virus on Plant Pandora(AC自动机)

这题关键还是时间问题HDU上时间卡的是2000ms,POJ卡1000ms,所以最终要的是优化。 优化主要在查找,一开始写的是用危险结点来判断要不要走,这样的话只要是危险结点都要走,就算这个点之前走过,也不会停下来。后来用count来判断,如果count为-1,那就不用走了,因为以前肯定走过了,而...

2016-09-03 14:17:13

阅读数:127

评论数:0

POJ 1204 Word Puzzles(AC自动机)

每次找到了一个串的头,就要回去找他的前驱结点因为有可能模式串为abcd bcd如果不找前驱结点bcd的开始位置永远找不到。 // // main.cpp // Richard // // Created by 邵金杰 on 16/9/2. // Copyright © 2016年 邵金杰....

2016-09-02 21:41:11

阅读数:202

评论数:0

最纯粹的trie图题目

给N个模式串,每个不超过个字符,再给M个句子,句子长度<100 判断每个句子里是否包含模式串 N 字符都是小写字母 5 8 abcde deft cake ab f abcdkef abkef bcd bra add ab qab f  // // mai...

2016-07-26 20:57:05

阅读数:92

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭