随笔分类 - 算法笔记
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 算法是基于深度优先搜索的算法,用于求解图的连通性问题。 割点 如果从图中删除节点 以及所有与 关联的边之后,图将被分成两个或两个以

STL学习笔记
摘要:什么是STL STL(Standard Template Library),即标准模板库,是一个高效的C++程序库 被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。包含了诸多在计算机科学领域里常用的基本数据结构和基
字符串学习笔记
摘要:简介 详见专区 简要描述:string是字符串模板类,可理解字符数组。访问元素可通过[]完成,对象赋值可使用= 基本操作 #include<string>//头文件 string s;//定义 assign(s,b,c)//使用s对象对a赋值,从b开始到c结束(0开始,左闭右闭)。缺省bc全部赋值
算法笔记目录
摘要:
### [语言](https://www.cnblogs.com/ccr-note/p/l-cpp.html "语言") ### 模拟 ### 字符串 1. 字符串基础 2. manacher 3. [kmp](https://www.cnblogs.com/ccr-note/p/KMP.html)

语言学习笔记
摘要:
## 认识c++ > C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。 >C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的

树状数组学习笔记
摘要:
树状数组简介 树状数组或二叉索引树(英语:Binary Indexed Tree),又以其发明者命名为Fenwick树,最早由Peter M. Fenwick于1994年以A New Data Structure for Cumulative Frequency Tables为题发表在SOFTWAR

线段树学习笔记
摘要:
## 线段树简介 >线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为 。而未优化的空间复杂度为 ,实际应用时一般还要开4N的数组以免越界
