博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 1449 - Dominating Patterns
阅读量:6712 次
发布时间:2019-06-25

本文共 1247 字,大约阅读时间需要 4 分钟。

ac自动机

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 const int maxnode=150*70+5; 7 char s[155][75]; 8 char in[1000000+5]; 9 struct Trie 10 { 11 int ch[maxnode][26]; 12 int val[maxnode]; 13 int f[maxnode]; 14 int cnt[155]; 15 int sz; 16 void initial() 17 { 18 sz=1; 19 memset(ch[0],0,sizeof(ch[0])); 20 memset(val,0,sizeof(val)); 21 memset(cnt,0,sizeof(cnt)); 22 } 23 void insert(char *s,int v) 24 { 25 int len=strlen(s); 26 int u=0; 27 for(int i=0;i
q; 42 f[0]=0; 43 for(int i=0;i<26;i++) 44 { 45 int u=ch[0][i]; 46 if(u) 47 { 48 q.push(u);f[u]=0; 49 } 50 } 51 while(!q.empty()) 52 { 53 int r=q.front(); 54 q.pop(); 55 for(int c=0;c<26;c++) 56 { 57 int u=ch[r][c]; 58 if(!u) continue; 59 q.push(u); 60 int v=f[r]; 61 while(v&&!ch[v][c]) v=f[v]; 62 f[u]=ch[v][c]; 63 } 64 } 65 } 66 void solve(char *s,char in[][75],int n) 67 { 68 get_fail(); 69 int len=strlen(s); 70 int u=0; 71 for(int i=0;i
ans; 87 for(int i=1;i<=n;i++) 88 if(cnt[i]==MAX) {ans.push_back(i);} 89 printf("%d\n",MAX); 90 for(int i=0;i

 

转载于:https://www.cnblogs.com/sooflow/p/3366446.html

你可能感兴趣的文章
Vue中的RouteMock实现思路及其问题
查看>>
前端每日实战:25# 视频演示如何用纯 CSS 创作一个慧星拖尾效果的 loader 动画...
查看>>
2018年第18周-Java语言思想-并发
查看>>
Node.js EventEmitter解读
查看>>
innodb事务隔离级别及实现机制
查看>>
分布式服务Dubbo的前世今生
查看>>
聊聊 WebRTC 网关服务器 2:如何选择 PeerConnection 方案?
查看>>
node项目部署杂记
查看>>
JavaScript由浅及深敲开原型链(二)
查看>>
关于CSS的个人理解
查看>>
java多线程(6)线程池
查看>>
WPF:Animation动画--CustomAnimation自定义动画(1)
查看>>
解决微信中页面回退ios不刷新的问题
查看>>
MongoDB基础操作
查看>>
JS设计模式入门和框架中的实践
查看>>
linux下使用笔记本的相关设置
查看>>
数据库
查看>>
Forge模型转换和网页浏览在Android上的实践
查看>>
大数据系列之Flume(一)
查看>>
JS中的反柯里化
查看>>