【链接】: "CF" 【题意】:对任意一个数a[i] ,可以对任意 满足 i != j 且 a[i] a[j] && a[i] include include include include include include include include include include includ ...
分类:
编程语言 时间:
2018-06-22 18:54:47
阅读次数:
183
跳跃表原理和实现 前提 有时候会被问到链表如果做到二分搜索,可能会有部分的人会去把链表中的值保存到数组来进行二分,但是如果知道跳跃表的话,那么这个数据结构就可以解决这个困惑,它允许快速查询一个有序连续元素的数据链表,它的效率可以做到和二分相同,都是O(logn)的平均时间复杂度,其空间复杂度为O(n ...
分类:
其他好文 时间:
2018-06-22 17:43:43
阅读次数:
689
插入新的节点: 是否包含有键值为key的节点: 查找: 前序遍历: 中序遍历: 后序遍历: 析构函数: 层序遍历: 最小键值: 最大键值: 删除最小节点: 删除最大节点: 删除任意节点: ...
分类:
其他好文 时间:
2018-06-17 17:58:22
阅读次数:
195
Qt提供的关联容器,QMap、QMultiMap,QHash、QMultiHash和QSet,带有“Multi”字样的容器支持在一个键上面关联多个值。 “Hash”容器提供了基于散列函数的更快的查找,而非 Hash 容器则是基于二分搜索的有序集合。 一、QMap、QMultiMap QMap<Key ...
分类:
其他好文 时间:
2018-06-06 23:54:26
阅读次数:
209
为方便讨论,m=max(m,n) n=min(m,n) 方法1:t=n 判断t是不是n的因子 判断t是不是m的因子 优化:只在n的因子中考察t 方法2:n,m作因式分解,提取公共小因子的乘积 方法3:筛选法得到质数表 思考,拓展 1.用质数表优化算法 2.算法输入数量的变化:多个整数求最大公因子 3 ...
分类:
其他好文 时间:
2018-05-27 12:01:32
阅读次数:
161
二分搜索树的特点 二分搜索树首先是一个二叉树,其次其必须满足的条件是:每个节点的键值必须大于其左子节点,每个节点的键值必须小于其右子节点,这样以左右孩子为根的子树仍为二分搜索树,需要注意的是,二分搜索树不一定是一颗完全二叉树。 深度优先遍历 深度优先遍历的基本思想:对每一个可能的分支路径深入到不能再 ...
分类:
其他好文 时间:
2018-05-16 00:44:27
阅读次数:
221
https://vjudge.net/problem/POJ-3276 首先意识到,对一个区间进行两次及以上的反转是没有意义的,而且反转次序不影响最终结果。 有点像二分搜索时用的逐个试的方法,每次翻的个数从1~n,然后进入函数判断。 由于正反性可以很巧妙地利用计数的奇偶来判断,所有这里优化复杂度,用 ...
分类:
其他好文 时间:
2018-05-16 00:39:58
阅读次数:
156
类似最大(小)值最大(小)化的问题都可以用二分来解决。 可以定义一个条件 C(x) 那么就是求满足某个条件 C(X)的最小的x 如果所有的x'>=x都满足C(x'),那么就可以用二分搜索来求最小的x 左端点初始化为不满足条件的值,右端点初始化为满足条件的值,每次取中点mid,判断C(mid)是否满足 ...
分类:
其他好文 时间:
2018-05-12 21:42:09
阅读次数:
147
二分查找法就是对一个从小到大排好序的数组中寻找一个数val,先用待找的数val和中间值比较,如果比中间值大,那么在中间值右边寻找;如果比中间值小,那么在中间值左边寻找。一直递归下去。知道找到val。如果没找到,则输出在序列里面没有相关的数据。 ...
分类:
编程语言 时间:
2018-05-09 01:23:05
阅读次数:
191