数据结构与算法 2020-02-04 这是我大二上修的《数据结构与算法》的笔记。 数据结构绪论 数据相关术语 数据:所有能被计算机识别的符号集合 数据元素:是数据(结构)中的一个个体(一个人出生日期的年、月、日) 数据项:是数据结构中讨论的最小单位(一个人的出生日期) 数据对象:具有相同性质的数据元素的集合(迷宫的每一个点) 数据结构相关术语 数据结构:带结构的数据元素的集合。全面的来说,$DS ...
bitset 2019-08-19 数学的集合这个概念,可以用 C 的布尔数组实现。然而,使用 bool 类型,导致每一个元素都会占用一个字节。 实际上,每一个字节理论上能存 8 个元素的状态,可以使用 char 或 int 数组来模拟。 而 C++ STL 自带了一种数据结构,bitset,就不用自己手写啦。 声明 #include using std::bitse ...
一句话描述的算法 2019-08-18 求逆序对数:用归并排序,计数交换的次数 用 scanf 读 string (即使关了同步,cin 读 string 太慢):——2019.7.20 > 用 scanf 读 char,然后使用 string operator +=。 看到 1e18 就可以考虑二分了。二分天下第一。 ——2019.7.21 给定 $0 \leq k \le ...
(unoredered_)(multi)map & 离散化 2019-08-04 在 ACM 中经常会接触到数据范围 $10^9$,数据个数 $ 2\times10^5$ 的题,这种题按数据范围开数组都开不下,但是数据没有出现过的数据就没有用,于是可以只讨论那 $ 2\times10^5$ 个数。这个时候,就需要一个把不连续的 $(12,324,76)$ 映射 (map) 到连续的 $(1,2,3,...)$ 上的方法。 map 分为 treemap 和 hashmap。 ...
set——STL 自带的红黑树 2019-07-27 wdgmultiset set 的构造函数 cppreference set 有一堆构造函数。C++ 98 有如下: set (const keycompare& comp = keycom ...
树状数组 (Binary Indexed Tree) 2019-07-19 参考博客:http://www.cppblog.com/menjitianya/archive/2015/11/02/212171.html 建立树状数组的目的 树状数组 (Binary Indexed Tree) 代码简洁、常数小于线段树,但功能少。即使如此也很常用。(线段树板子长抄着慢) 树状数组的作用是可以log(n)维护在线前缀和(最大最小值什么的也可以?) 树状 ...