一直被AC自动机这个名字唬住,以为很难,自动AC?其实不是。数模还有CA自动机(元胞自动机),听起来也怪吓人的,对ACM选手来说,算是一种模拟。 AC自动机=字典树+KMP。字典树是必须要懂的;KMP主要了解一下回溯思想,问题不大。 KMP解决的是一个母串和一个模式串的匹配问题。 字典树解决的是许多 ...
分类:
其他好文 时间:
2020-01-07 19:50:13
阅读次数:
64
刚开始的时候,对于课程设计真的是毫无思路,之后便去把课本相关的指针和文件的内容重新认真的在看一遍,算是对文件的基础内容有了初步的认识。这是我在编写程序中第一次使用文件的操作,而没有使用简单的数组,当然还有参考使用了KMP算法,虽然这次KMP算法并不是自己把它用c语言的方法实现出来的,但是通过上网查找 ...
分类:
其他好文 时间:
2020-01-05 17:14:07
阅读次数:
83
"CF432D Prefixes and Suffixes" 题意 给你一个长度为n的长字符串,“完美子串”既是它的前缀也是它的后缀,求“完美子串”的个数且统计这些子串的在长字符串中出现的次数 分析 求出nex数组 , 在求出每个前缀出现的次数 , 从nex[n] 往下走就行了 其实这道题是 , K ...
分类:
其他好文 时间:
2020-01-02 20:44:37
阅读次数:
61
LeetCode 452 453 454 455 456 459 1 编程题 【LeetCode 452】用最少数量的箭引爆气球 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。 ...
分类:
编程语言 时间:
2020-01-02 14:13:30
阅读次数:
117
public class KMPAlgorithm { public static void main(String[] args) { String str1 = "BBC ABCDAB ABCDABCDABDE"; String str2 = "ABCDABD"; int[] kmpTable ...
分类:
编程语言 时间:
2019-12-29 23:23:22
阅读次数:
100
看了好久才懂,我好菜啊…… 题意:给两个字符串 $a$ 与 $b$,对于 $q$ 次询问,每次询问给出一个 $x$,求存在多少个位置使得 $a$ 从该位置开始的后缀子串与 $b$ 匹配的长度恰好为 $x$。 这题可以 Hash+二分 $O(n\log n)$ 过,还有一个高端做法是扩展 KMP(然而 ...
分类:
其他好文 时间:
2019-12-29 14:49:47
阅读次数:
69
#include<string> #include<stdio.h> #include<iostream> #include<vector> using namespace std; string s1,s2; vector<int>f; void init() { f[0] = 0; f[1] = ...
分类:
编程语言 时间:
2019-12-27 23:26:10
阅读次数:
92
For Example: # sqlplus / as sysdbaSQL> START sqlhc.sql T djkbyr8vkc64h ...
分类:
数据库 时间:
2019-12-26 17:57:37
阅读次数:
108
typedef struct { char str[MAX]; int length; }SString; BF算法 int Index(SString *S, SString *T) { int i, j; i = 1; j = 1; while (i<=S->length&&j<=T->leng ...
分类:
编程语言 时间:
2019-12-23 22:46:23
阅读次数:
133
上板子 KMP for(int i=1;i<len;i++){ while(u>0&&s[u]!=s[i]){ u=Pi[u]; } if(s[u]==s[i]){ u++; } Pi[i]=u; } KMP Z Algorithm for(int i=1,l=0,r=0;i<len;i++){ i ...
分类:
其他好文 时间:
2019-12-21 10:10:44
阅读次数:
76