[置顶]
算法笔记目录
摘要:
### [语言](https://www.cnblogs.com/ccr-note/p/l-cpp.html "语言") ### 模拟 ### 字符串 1. 字符串基础 2. manacher 3. [kmp](https://www.cnblogs.com/ccr-note/p/KMP.html)

AC自动机学习笔记
摘要:
## 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
KMP学习笔记
摘要:
# KMP KMP是一种非常有用的算法,可以将字符串匹配的复杂度由 降到 ## 朴素算法 学过语言就会朴素算法,这里只给出伪代码: ``` for(i=0->n-1){ for(j=i>m-i){ if(s[i]!=s[j])goto fg; } cout usin

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

拓扑排序学习笔记
摘要:
## 思想 拓扑,一看就是从图的开始开始开拓,并按被开拓到的顺序排序 拓扑排序的思想如下: > 将入度为 的点删除,并记录它被删除的顺序,直到没有点则结束程序 ## 图解 等问题。 Tarjan 算法是基于深度优先搜索的算法,用于求解图的连通性问题。 割点 如果从图中删除节点 以及所有与 关联的边之后,图将被分成两个或两个以

LCA学习笔记
摘要:
LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 实现 暴力 不说了。 int query(Node t, Node u, Node v) { int left=u.value; int right=v.