摘要:
## AC_Automaton=Trie+KMP! ~~废话~~ ### [KMP](https://www.cnblogs.com/ccr-note/p/KMP.html "KMP") ### [Trie](https://www.cnblogs.com/ccr-note/p/trie.html 阅读全文
posted @ 2023-08-25 11:39
ccrui
阅读(18)
评论(0)
推荐(0)
摘要:
# KMP KMP是一种非常有用的算法,可以将字符串匹配的复杂度由 $O(nm)$ 降到 $O(n+m)$ ## 朴素算法 学过语言就会朴素算法,这里只给出伪代码: ``` for(i=0->n-1){ for(j=i>m-i){ if(s[i]!=s[j])goto fg; } cout usin 阅读全文

posted @ 2023-08-25 11:30
ccrui
阅读(31)
评论(0)
推荐(0)
摘要:
# 字典树 ## 字典树(Trie)简介 > 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效 阅读全文
posted @ 2023-08-25 11:02
ccrui
阅读(35)
评论(0)
推荐(1)
摘要:
## 并查集的定义 >并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。 ——百度百科 并查集,顾名思义,支持以下两种操作操作: - 并(Union):把两个不相交的集合合并为一个集合。 - 查(Find):查询两个元素是否在 阅读全文
posted @ 2023-08-25 11:00
ccrui
阅读(38)
评论(0)
推荐(0)
摘要:
## Prim算法 prim算法基本思想:基于点的解决方式 1. 先随便选择一个点s作为起点,把其他所有点设为未添加节点,再设一dis数组,代表每个 节点到最小生成树最近点的距离,易得一开始只有dis[s]=0,其他均为∞。 1. 每轮找到dis值最小且未添加过的节点加入生成树中,且使用这个节点的邻 阅读全文

posted @ 2023-08-25 10:58
ccrui
阅读(19)
评论(0)
推荐(0)
摘要:
## 思想 拓扑,一看就是从图的开始开始开拓,并按被开拓到的顺序排序 拓扑排序的思想如下: > 将入度为 $0$ 的点删除,并记录它被删除的顺序,直到没有点则结束程序 ## 图解 
评论(0)
推荐(0)
摘要:
Tarjan Tarjan算法是图论中非常常用的算法之一,能解决强连通分量,双连通分量,割点和桥,求最近公共祖先(LCA)等问题。 Tarjan 算法是基于深度优先搜索的算法,用于求解图的连通性问题。 割点 如果从图中删除节点 \(x\) 以及所有与 \(x\) 关联的边之后,图将被分成两个或两个以 阅读全文

posted @ 2023-08-25 10:56
ccrui
阅读(39)
评论(0)
推荐(0)