一、构建步骤 1.将所有模式串构建成 Trie 树 2.对 Trie 上所有节点构建前缀指针(类似kmp中的next数组) 3.利用前缀指针对主串进行匹配 AC自动机关键点一:trie字典树的构建过程 字典树的构建过程是这样的,当要插入许多单词的时候,我们要从前往后遍历整个字符串, 当我们发现当前要 ...
分类:
其他好文 时间:
2018-07-25 16:21:19
阅读次数:
204
题目大意: 给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 思路: KMP算法模板题。 KMP这个算法一开始真的很难懂,但是接触后过一会再研究就会豁然开朗。这个东西也很难解释原理,只有自己搞懂。 推荐的KMP讲解:https://blog.csdn.net/star ...
分类:
其他好文 时间:
2018-07-23 20:49:30
阅读次数:
120
P3041 [USACO12JAN]视频游戏的连击Video Game Combos https://www.luogu.org/problemnew/show/P3041 分析: AC自动机。 建立AC自动机,然后dp[i][j]表示经过了i个字符,到达自动机上j这个位置,的得分。 那么dp[i- ...
分类:
其他好文 时间:
2018-07-23 20:48:59
阅读次数:
138
综述 strlen()求的是长度,针对的对象是字符串. sizeof()求的是大小,针对的是类型。 首先要明确的一个概念是,strlen()是函数,而sizeof()表面看起来是函数,其本质是关键字。 函数必须有() 我们在写代码的时候,对于没有参数的函数,再调用的时候还是要写成fun(),为啥必须 ...
分类:
其他好文 时间:
2018-07-22 23:37:42
阅读次数:
188
前提:本文基于Linux系统下的学习 服务器端 1 创建通讯端口,返回socket设备的文件描述符 sfdsocket(2)#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int ...
分类:
其他好文 时间:
2018-07-22 15:12:14
阅读次数:
200
喜闻乐见的a+b Description 喜闻乐见的a+b来了,当然二进制,八进制,十进制什么的估计你们也懒得写了,来个20进制的a+b 喜闻乐见的a+b来了,当然二进制,八进制,十进制什么的估计你们也懒得写了,来个20进制的a+b Input 给出多组a和b,每个数字一行 数字由0~9和小写字母a ...
分类:
其他好文 时间:
2018-07-22 14:05:49
阅读次数:
141
https://pintia.cn/problem-sets/994805260223102976/problems/994805279328157696 火星人是以13进制计数的: 地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, ...
分类:
其他好文 时间:
2018-07-20 11:34:52
阅读次数:
172
题目大意:给你一个长度为 n 的 字符串表示一个乘法,一次操作随机选两个字符进行交换,进行m次操作,让你求出所有可能操作 的答案和。 (1 <= n, m <= 50) 思路:巨难。。 对于固定位置的三个字符来说,把中间的看成*, 两边的为a,b, 这个产生的贡献为,a * b * C,C只与a, ...
分类:
其他好文 时间:
2018-07-19 10:49:14
阅读次数:
140
题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符串S 输出格式: 一个整数表示答案 题解及总结 和很多字符串算法一样,Manacher算法与其说是一种算法,还不 ...
分类:
编程语言 时间:
2018-07-18 23:32:10
阅读次数:
172
#include<stdio.h>//不能连续复合运算,要保存结果 #include<stdlib.h>//所以一个技巧就是用strcpy来代替等号 #include<string.h>//c=a+b改写为strcpy(c,BigAdd(a,b)) #include <iostream> using ...
分类:
其他好文 时间:
2018-07-18 23:25:46
阅读次数:
164