摘要: Hash 算法学习笔记与总结 [toc] # Hash > 哈希算法是通过一个哈希函数 H ,将一种数据(包活字符串、较大的数等)转化为能够用变量表示或是直接就可作为数组下标的数,道过哈希函数转化得到的数值我们称之为哈希值,通过哈希值可以实现快速查找和匹配。以下介绍两种哈希算法的具体运用:字符申 H 阅读全文
posted @ 2023-07-09 22:40 Mingrui_Yang 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 差分学习笔记与总结 [toc] # 差分 [前置知识 - 前缀和](https://www.cnblogs.com/MingruiYang/p/17523910.html) ## 一维差分 ### What > 差分可理解为前缀和的**逆运算** [前缀和](https://www.cnblogs. 阅读全文
posted @ 2023-07-06 10:04 Mingrui_Yang 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前缀和学习笔记与总结 [toc] # 前缀和 ## 一维前缀和 ### What 现有 **原数组**: $$ a_1,a_2,a_3,\ldots,a_n $$ 对应的 **前缀和数组** 应满足: $$ S_i = a_1+a_2+a_3+\cdots+a_n $$ 前缀和 $S_i$ 即为 * 阅读全文
posted @ 2023-07-06 08:18 Mingrui_Yang 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 二分算法学习笔记与总结 [toc] # 二分 > **二分查找** 侧重于查找一个元素是否存在,而 **二分答案** 则侧重于找到答案。 ## 二分原理 > 二分,分而为二。 二分算法,顾名思义,就是把一组有序数据的搜索区域缩小一半。 ## 整数二分 ### 二分查找原理 ![一种查找方式](htt 阅读全文
posted @ 2023-07-02 17:01 Mingrui_Yang 阅读(21) 评论(0) 推荐(0) 编辑
摘要: # C++ 的基本结构 这是一个 输出“Hello,world”的程序代码 ```cpp #include // 预处理 using namespace std; // 标准命名空间 int main () // 主函数 { // 你需要执行的语句 cout ` 意为 **包含** ,用于 **包含 阅读全文
posted @ 2023-02-21 22:44 Mingrui_Yang 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 并查集 定义 并查集(Disjoint-Set)是一种可以动态维护若干个不重叠的集合,并支持合并与查询两种操作的一种数据结构。 模板题目 原题链接 题目描述 一共有 $n$ 个数,编号是 $1∼n$,最开始每个数各自在一个集合中。 现在要进行 $m$ 个操作,操作共有两种: M a b,将编号为 $ 阅读全文
posted @ 2023-01-21 15:27 Mingrui_Yang 阅读(30) 评论(0) 推荐(0) 编辑
摘要: # 模(Mod) [原文地址](https://www.cnblogs.com/MingruiYang/p/17023114.html) [Toc] ## 定义 Mod 的含义是 取余 打个比方: $$ \begin{matrix} (3+4)\bmod 4 = 3 \\ 3\times 4\bmo 阅读全文
posted @ 2023-01-21 10:58 Mingrui_Yang 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Catalan数列 目录 定义 Number Catalan数列的前几项为(从 $f_1$ 开始): 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 12 阅读全文
posted @ 2022-12-30 19:06 Mingrui_Yang 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Lucas定理 目录 定义 点我了解卢卡斯定理 (Lucas's theorem) 若 $p$ 为质数,且 $1\le b\le a$ 则有: $$ C^b_a\equiv C^{\left\lfloor b/p \right\rfloor}{\left\lfloor a/p \right\rflo 阅读全文
posted @ 2022-12-21 22:28 Mingrui_Yang 阅读(120) 评论(0) 推荐(0) 编辑