摘要: 网络流 网络最大流 网路最大流与网络最小割的关系及概念 什么是最大流 让一张网络从源点向汇点能流到的最大网络。 什么是最小割 使得一张网络从源点到汇点不连通的最小代价。 最大流与最小割的关系 最大流使每条增广路能够通过最大流量的和,要使图不连通,每条增广路必定要被破坏,破坏它肯定是从当条增广路的最小 阅读全文
posted @ 2023-10-26 18:43 Symbolize 阅读(84) 评论(0) 推荐(2)
摘要: 前言 本算法分为 计算机离散傅里叶变换(DFT) 与 快速傅里叶变换(FFT) 两大部分,以及 快速傅里叶逆变换(IFFT)的补充。 正文 DFT 与 FFT 定义 DFT(计算机离散傅里叶变换) 计算机离散傅里叶变换(DFT),是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离 阅读全文
posted @ 2023-10-26 18:37 Symbolize 阅读(991) 评论(0) 推荐(0)
摘要: 二项式定理 定义 \((a+b)^k=\sum\limits_{k=0}^{n}C^k_na^kb^{n-k}\)。 证明 证: \[显然 (a+b)^k 的项数为 k+1,由a^xb^y同类项组成(x,y为未知数且满足x+y=n) \]\[\because (a+b)^k=\underbrace{ 阅读全文
posted @ 2023-10-26 18:34 Symbolize 阅读(35) 评论(0) 推荐(0)
摘要: Treap 原理 Treap = Binary Search Tree(二叉搜索树) + heap(大根堆)。 因为二叉搜索树能够 \(log_N\) 查询排名、前驱、后继。所以我们尝试使用二叉搜索树。 但是因为可能存在这种情况: 又因为二叉搜索树不唯一,所以我们使用大根堆来保证二叉搜索树深度最小。 阅读全文
posted @ 2023-10-26 18:23 Symbolize 阅读(48) 评论(0) 推荐(0)
摘要: AC 自动机 原理 KMP + Trie树 这是一种多模式串的匹配算法。 相较于 KMP 算法在运行多模式串的匹配时只需一次遍历即可,而 KMP 要针对不同的子序列对母序列进行多次遍历。 讲解 第一步 构造 Trie 树。 insert 函数代码 void insert(int x) { int p 阅读全文
posted @ 2023-10-26 18:20 Symbolize 阅读(23) 评论(0) 推荐(0)
摘要: 普通线段树 简介 线段树是一种时间复杂度为 \(O(log_N)\) 的维护区间信息的高级数据结构。 主要功能有: 区间修改 区间查询 下面是区间 \([1,9]\) 的线段树(未加点权) 主要操作是使用 build 建树,将叶子结点的信息通过 push_up 向上维护到更大的区间,加入了 lazy 阅读全文
posted @ 2023-10-26 18:19 Symbolize 阅读(49) 评论(0) 推荐(0)
摘要: 普通 Trie 树 前言 就是字典树。 概念 将字符串之间的公共前缀合并。 例如: abc abd acb cba AC Code of Luogu P8306 【模板】字典树 #include<bits/stdc++.h> #define pii pair<int,int> #define x f 阅读全文
posted @ 2023-10-26 18:18 Symbolize 阅读(20) 评论(0) 推荐(0)