摘要: 前言 先复习一下KMP和Trie。 AC自动机 首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机 阅读全文
posted @ 2022-03-06 21:52 PassName 阅读(112) 评论(0) 推荐(0) 编辑
摘要: treap: treap=tree+heap,树+堆 也就是说,这个东西是个树,但是满足堆的性质。 前置知识: BST二叉搜索树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 也就是说,你把它从根节点中序遍历一边就能 阅读全文
posted @ 2022-03-06 21:22 PassName 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 前言 刚学完这个算法,说是提高算法里的,要不是我去看大纲我不知道还得研究多久......上写写的清清楚楚 NOI 级算法。。。。 所以就浅谈一下。 正文 什么是可持久化数据结构呢? 简单一点来说,就是能支持访问以往某个版本的数据的数据结构,当然我的总结并没有那么贴切…… 我们以这样一个事来引入吧!记 阅读全文
posted @ 2022-03-06 20:31 PassName 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 什么是线段树 线段树,是一种 二叉搜索树 。它将一段区间划分为若干 单位区间 ,每一个节点都储存着一个区间。它 功能强大 ,支持区间求和,区间最大值,区间修改,单点修改等操作。 线段树的思想和分治思想很相像。 线段树的每一个节点都储存着一段区间 \([L..R]\) 的信息,其中 叶子节点 \(L= 阅读全文
posted @ 2022-03-06 18:01 PassName 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 由于本人博客模板特殊,为了更好地阅读体验,请将阅读模式调成白天。 树状数组基础 树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改&&区间求和. 另外一个拥有类似功能的是线段树. 具体区别和联系如下: 1.两者在复杂度上同级, 但是树状数组的常数明显优于线段树, 其编程 阅读全文
posted @ 2022-03-06 16:25 PassName 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 并查集的引入 并查集的重要思想在于,用集合中的一个元素代表集合 阅读全文
posted @ 2022-03-06 13:37 PassName 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 什么是拓扑排序? 维基百科对于拓扑排序有如下定义: a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every dire 阅读全文
posted @ 2022-03-05 22:24 PassName 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 定义: 欧拉回路:每条边恰好只走一次,并能回到出发点的路径 欧拉路径:经过每一条边一次,但是不要求回到起始点 ①首先看欧拉回路存在性的判定: 一、无向图 每个顶点的度数都是偶数,则存在欧拉回路。 二、有向图(所有边都是单向的) 每个节顶点的入度都等于出度,则存在欧拉回路。 三.混合图欧拉回路 混合图 阅读全文
posted @ 2022-03-05 22:02 PassName 阅读(587) 评论(0) 推荐(0) 编辑
摘要: S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1∼N。 他们之间的关系自然也极不和谐。 很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。 我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。 如果两名怨气值为 c 的罪犯被关 阅读全文
posted @ 2022-03-05 21:47 PassName 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Tarjan 算法简介 Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度。 我们定义: 如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大 阅读全文
posted @ 2022-03-05 19:47 PassName 阅读(209) 评论(0) 推荐(0) 编辑