摘要: ST表简介 ST 表是用于解决 可重复贡献问题 的数据结构 可重复贡献问题:是指对于运算$opt$,满足$x\ opt\ x =x$,则对应的区间询问就是一个可重复贡献问题。(摘自OI wiki) 说人话,就是对区间的重复运算不影响结果。比如区间最值问题(RMQ),区间GCD 比方10个数求最大值, 阅读全文
posted @ 2020-06-30 15:18 Salty_Fish 阅读(130) 评论(0) 推荐(0) 编辑
摘要: [toc] 学习记录 快速幂 快速幂的递归实现 假设要算$7^9$,如果采取普通计算,也就是$7 7 7 7 7 7 7 7 7$,共需要8次运算。 运用二分的思想,先算$7^4$,然后通过$7^4 7^4 7$来计算$7^9 $,这样就只需要$3+1+1=6$次计算,然而这样还不够彻底,$7^4$ 阅读全文
posted @ 2020-05-10 15:43 Salty_Fish 阅读(164) 评论(0) 推荐(0) 编辑
摘要: [TOC] 哈夫曼树 基本概念 路径:在一棵树中, 从一个节点到另一个节点经过的所有结点,称为两个节点的路径。(图中淡蓝色为路径) 路径长度:从出发节点到目标节点,每经过一个节点,路径长度+1。可以理解为两个节点中间的边的数量。(标记为边的数量) 节点的权:每一个节点的权重。这个权重表示了这个节点的 阅读全文
posted @ 2020-04-26 12:36 Salty_Fish 阅读(213) 评论(0) 推荐(0) 编辑
摘要: [TOC] 二叉树 二叉树的性质 每个节点最多都有两个子节点的树称为二叉树。其性质与定义有: 第$i$层最多有$2^{i 1}$个节点 满二叉树:若每一层的节点数都是满的(都为$2^{i 1}$),则为满二叉树 完全二叉树:一棵满二叉树只在最后一层有缺失,则称为完全二叉树 而对于完全二叉树,它的子节 阅读全文
posted @ 2020-04-23 14:51 Salty_Fish 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 康托展开 对于全排列而言,每一种状态都是独一确定的,如果我们给每一种状态按字典序从小到大的顺序编号,就得到了康托展开。下面举个例子。 | 状态 | 123456789 | 123456798 | ... | 987654321 | | | | | | | | 康托展开 | 0 | 2 | ... | 阅读全文
posted @ 2020-04-04 20:36 Salty_Fish 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 堆排序 堆排序在我看来是一个比较难的排序算法,专门记录一下吧。 首先,先简单介绍一下堆这种结构。 堆排序,顾名思义,是利用 堆 这一数据结构进行的。堆是一种特殊的 二叉树 ,其中每个元素都符合一定的规则。 " " 最大堆:每一个父节点,都比两个子节点大。最小堆就是父节点比子节点小。 当然数组是是一段 阅读全文
posted @ 2020-03-23 22:59 Salty_Fish 阅读(189) 评论(0) 推荐(0) 编辑
摘要: [TOC] 对于巨佬而言真的就是水题了,作为一个蒟蒻我还是从水题开始慢慢写吧 hdu 2602 Bone Collector 01背包模板题,用这道题写写01背包的几种写法吧 阅读全文
posted @ 2020-03-15 14:31 Salty_Fish 阅读(118) 评论(0) 推荐(0) 编辑
摘要: lower_bound( ) 与 upper_bound( ) 这两个函数是用 二分查找 的方式,在一个排好序的 数组 中进行查找,返回值是地址。 如果数组为从小到大的顺序排列的话: lower_bound :lower_bound( begin,end,num),在begin到end 1之间,二分 阅读全文
posted @ 2020-03-14 19:11 Salty_Fish 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 用迭代器对整个数组做一次遍历 for (auto &it:a) //后面跟操作,这样就不用写迭代器的定义了 求出数组中最小的值,就不用写循环了 int arr[5]={1,2,3,4,5}; int k=*max_element(arr,arr+5); //输出5 k=*min_element(ar 阅读全文
posted @ 2020-03-14 18:29 Salty_Fish 阅读(184) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 直接插入排序 顾名思义,实现排序的方式就是插入。下面由从小到大的顺序进行一次排序。 1. 确定一个已经有序的序列,这里先选第一个元素为有序(毕竟只有一个元素) 2. 从无序的第一个元素开始比较,有两种情况: 1. 无序序列的第一个元素 大于 有序数列的最后一个元素,就说明这个元素在 阅读全文
posted @ 2020-03-12 15:06 Salty_Fish 阅读(186) 评论(0) 推荐(0) 编辑