ac自动机模板
2016-04-11 20:07
316 查看
ac自动机模板(makefail)
void makefail() { for(int i=0,j=1;i<j;) { int x=d[++i]; fo(k,0,25) if (trie[x].son[k]) { int y=trie[x].son[k]; if (x) { int z=trie[x].next; while (z&&!trie[z].son[k]) z=trie[z].next; trie[y].next=trie[z].son[k]; } if (!trie[y].sum) trie[y].sum=trie[trie[y].next].sum;d[++j]=y; } } }
相关文章推荐
- 在jni编程中解决第三方so文件编译时被删除的另类方法
- Android 文件操作
- android studio "android() not found"
- 二叉树中的和,求路径
- 编译ZermoMQ时修改rpath路径
- 科艺嘉2016年HR总监HR管理沙
- 55、10年+程序人生感悟[2] - 贵在坚持
- swift 初步接触 基本语法 方法命名 !和?区别 as!和as?区别 let和var区别 extension override private (一)
- hdu-1520 Anniversary party(树形dp)
- Tomcat服务器原理详解
- Linux 安装MySQL
- 54、 从1.5k到18k, 一个程序员的5年成长之路
- lvM增减教程-转
- PHP中 HTTP_HOST 和 SERVER_NAME 的区别
- 关于Java设计模式的一些概况
- Cordova3+sencha touch2.x 环境搭建
- c的详细学习(7)指针学习(一)
- tableview中的手势冲突
- c++中各类继承下的对象模型
- c++动态内存管理