一直对状压dp怀有一种恐惧感 不会打,不会调,关键是不会调 做了这两道题,虽然还是不会状压dp,但总比之前好了一些 y 普通状压应该很好打 复杂度$O(2^d*n*(n+m))$ 那么该怎么优化, 折半搜索,你起点是确定的,枚举中间点,这样复杂度就降低成$O(2^{\frac{d}{2}}*n*(m ...
分类:
其他好文 时间:
2019-10-01 23:07:29
阅读次数:
166
插入排序的基本思想:每次将一个待排序的元素按其关键字大小插入到前面已经排好的子序表中的适当位置,直到全部元素插入完成为止。本次介绍直接插入排序,折半插入排序和希尔排序。 1 直接插入排序 直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和 ...
分类:
编程语言 时间:
2019-10-01 18:44:59
阅读次数:
97
以作者的水平为准 基础算法:枚举——>倍增 差分(前缀和)——>二维 贪心 分治:归并排序(逆序对) 二分答案 二分查找 快速排序——>离散化 递归/递推 搜索:深搜(所有方案),宽搜(最优解) DFS优化:迭代 最优性剪枝/可行性剪枝/搜索顺序 记忆化搜索 折半搜索 A*/IDA* BFS优化:双 ...
分类:
其他好文 时间:
2019-09-26 23:47:06
阅读次数:
194
力扣刷题 二分查找法 二分查找法又称折半查找法。 优点:比较次数少,查找速度快,平均性能好; 缺点:要求待查表为有序表,且插入删除困难。 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较 如果两者相等,则查找成功 否则 ...
分类:
其他好文 时间:
2019-09-21 19:07:26
阅读次数:
129
选择排序 代码 原理说明: 0索引和后续的索引比较、1索引和后续的索引比较......首次循环,可以得出 最小值 或 最大值。 冒泡排序 代码 原理说明: 相邻的两个元素比较,位置互换。首次循环,可以得出 最小值 或 最大值。 二分/折半 查找 代码 说明: 使用:二分/折半 查找某个元素,若存在 ...
分类:
编程语言 时间:
2019-09-17 13:19:34
阅读次数:
99
CF888E Maximum Subsequence 有一种叫做折半搜索的好东西 我们把数列劈成两半,分别搜索,再合并 合并可以排序+二分或者排序+单调性 代码极短 ...
分类:
其他好文 时间:
2019-09-15 16:48:18
阅读次数:
85
二分查找:两种方式: 非递归方式和递归方式主要思路: 对于已排序的数组(先假定是从小到大排序), 先定义两个"指针", 一个"指向"首元素low, 一个"指向"末尾元素high. 然后, 开始折半比较, 即让要查找的数与数组中间的元素(索引为 low+high/2)比较. 若要查找的数比中间数小, ...
分类:
编程语言 时间:
2019-09-08 00:18:09
阅读次数:
104
二分查找:又称为折半查找,适用于排好序的顺序表。 基本思路:首先将给定的查找值K,与表中的中间位置的元素的关键字进行比较,若相等,则返回该元素的位置;若不等,表明所需查找的元素只能在中间元素的前半部分或者后半部分中;然后在缩小的范围中继续同样的查找,如此反复直到找到为止。 实现方式:递归实现和非递归 ...
分类:
其他好文 时间:
2019-09-01 14:56:52
阅读次数:
81
map 平衡二叉树关系(联)式容器(已序) 字典 map<拼音,汉字> map是一个容器,里面每一个元素分为两个逻辑块 其中一个逻辑区块叫做key(药匙) 另一个逻辑区块叫做value(值) map是一个已序容器 元素进入容器会有一个排序的操作,通过key的大小进行排序,默认升序 map的元素中的k ...
分类:
其他好文 时间:
2019-08-31 12:46:38
阅读次数:
62
顺序查找可以是线性表也可以是链表,同是既可以是有序的也可以是无序。 折半查找仅适用于有序的线性表 ...
分类:
其他好文 时间:
2019-08-29 23:40:08
阅读次数:
134