摘要: 浅谈 STL (从 basic_algorithm贺的,只是为了复习而已) 为什么 C++ 比 C 更受人欢迎呢?除了 C++ 的编译令人感到更舒适,C++ 的标准模板库(STL)也占了很重要的原因。当你还在用手手写快排、手写二叉堆,挑了半天挑不出毛病的时候,C++ 党一手 STL 轻松 AC,想不 阅读全文
posted @ 2023-10-09 21:05 tsqtsqtsq 阅读(30) 评论(0) 推荐(0)
摘要: 四边形不等式优化 DP 引入 首先来看一下区间 DP 的状态转移方程:$$ f(l,r)=\min\limits_{l\le k\le r}\left\{f(l,k)+f(k+1,r)\right\}+w(l,r) $$ 对于这样一个状态转移方程,通常来说我们的做法是: 枚举长度 $len$; 枚举 阅读全文
posted @ 2023-10-09 18:35 tsqtsqtsq 阅读(47) 评论(0) 推荐(0)
摘要: 快速幂 定义 快速幂,二进制取幂(Binary Exponentiation,也称平方法),是一个在 $O(\log n)$ 的时间内计算 $a^n$ 的小技巧,而暴力的计算需要 $O(n)$ 的时间。 这个技巧也常常用在非计算的场景,因为它可以应用在任何具有结合律的运算中。其中显然的是它可以应用于 阅读全文
posted @ 2023-10-05 20:46 tsqtsqtsq 阅读(72) 评论(0) 推荐(0)
摘要: 状压 DP 引入 对于某一类问题,我们需要在动态规划的状态中记录一个集合。若集合中有不超过 $n$ 个元素且每一个元素都是小于 $k$ 的自然数,则我们可以将这个集合看作是一个 $n$ 位 $k$ 进制数,以一个 $[0,k^n-1]$ 之间的十进制整数的形式作为 DP 状态中的一维。这种把一个状态 阅读全文
posted @ 2023-10-05 19:40 tsqtsqtsq 阅读(39) 评论(0) 推荐(0)
摘要: 随机数据生成与对拍 引入 本文介绍随机数据的生成方法与对拍测试方法。读者将学习使用随机数产生器,根据题目要求构造各种规模的输入数据,用于对自己编写的程序进行检测。同时,读者也将学习编写简单的脚本,自动化、批量化运行“数据生成程序”和两份不同的“问题求解程序”,并对两份程序的输出结果进行比对——我们把 阅读全文
posted @ 2023-10-04 20:42 tsqtsqtsq 阅读(139) 评论(0) 推荐(0)
摘要: 斜率优化 引入 首先给出一种更加简单的优化。考虑一个这样的的式子:$$ f_i=\min\limits_{0\le j<i}\left\{f_j+g_j+h_i\right\} $$ 不难看出,这个式子中的每一项只会与 $i$,$j$ 中的一个有关。显然可以转化为:$$ f(i)=\min\limi 阅读全文
posted @ 2023-10-04 19:14 tsqtsqtsq 阅读(35) 评论(0) 推荐(0)
摘要: AC 自动机 引入 AC 自动机,顾名思义就是(能够帮你自动切题的机器)一种可以很方便地进行多模式串匹配的东西。 前置知识 Trie 树 KMP 实现 AC 自动机是以Trie 树的结构为基础,结合KMP的思想建立的。 简单来说,建立 AC 自动机主要有两个步骤: Trie 树的结构基础:将所有待匹 阅读全文
posted @ 2023-10-04 08:26 tsqtsqtsq 阅读(23) 评论(0) 推荐(0)
摘要: Catalan 数列 以下问题属于 Catalan 数列: 有 $2n$ 个人排成一行进入剧场。入场费 5 元。其中只有 $n$ 个人有一张 5 元钞票,另外 $n$ 人只有 10 元钞票,剧院无其它钞票,问有多少种方法使得只要有 10 元的人买票,售票处就有 5 元的钞票找零? 一位大城市的律师在 阅读全文
posted @ 2023-10-02 19:44 tsqtsqtsq 阅读(79) 评论(0) 推荐(0)
摘要: 哈希 引入 哈希表又称散列表,一种以「key-value」形式存储数据的数据结构。所谓以「key-value」形式存储数据,是指任意的键值 key 都唯一对应到内存中的某个位置。只需要输入查找的键值,就可以快速地找到其对应的 value。可以把哈希表理解为一种高级的数组,这种数组的下标可以是很大的整 阅读全文
posted @ 2023-10-02 19:28 tsqtsqtsq 阅读(56) 评论(0) 推荐(0)
摘要: basic_algorithm(复刻版) by cssyz tsqtsqtsq 1 前言 基础算法是 OI 中的内容,一方面,这些内容可以让初学者对 OI 的一些思想有初步的认识;另一方面,本章介绍的大部分算法还会在以后的进阶内容中得到运用。因此,掌握好基础算法是非常重要的。 2 模拟 2.1 简介 阅读全文
posted @ 2023-09-27 08:25 tsqtsqtsq 阅读(84) 评论(0) 推荐(0)