1.考察要点 1.二分搜索不仅在有序序列中可以运用,无序序列也同样适用,只要满足每次查找都会缩小一半查找范围。 2.注意循环初始条件,边界值,划分点的处理,确保循环不会无法终止。 3.划分点的经典写法:(p+r)/2 ,安全写法:r-(r-p)/2或p+(r-p)/2 2.局部最小值问题 问题描述: ...
分类:
其他好文 时间:
2018-04-29 13:33:02
阅读次数:
166
声明方式: int[] a = new int[10]; 声明数组时要使用 new 关键字, 1, 必须声明数组的长度, int[] a = new int[5]; 2, 也可以直接定义数组的内容 int[] a = { 1, 2, 3 } 3, 数组的长度一旦被定义, 则不可再变 遍历和初始化(求 ...
分类:
编程语言 时间:
2018-04-27 17:59:35
阅读次数:
149
链接 思路 二分+搜索+剪枝。 首先二分一个答案,表示最多可以切出x块。(一个结论:切出的一定是从较小的前x块。如果一个木材可以满足很多个需要的木材,那么切出最小的,就意味着以后再选时的机会更多。) 然后暴力搜索前x块分别由哪个木材切出。 剪枝1:如果所有提供的木材加起来也不能满足需要的木材,直接跳 ...
分类:
其他好文 时间:
2018-04-27 12:13:45
阅读次数:
120
1152: 二分搜索 题目描述 在有序序列中查找某一元素x。 在有序序列中查找某一元素x。 输入 首先输入一个正整数n(n<=100000),表示该序列有n个整数,然后按从小到大的顺序输入n个整数; 接着是一个正整数m,表示有m次查找; 最后是m个整数,表示m个要查找的整数x。 首先输入一个正整数n ...
分类:
其他好文 时间:
2018-04-21 19:35:55
阅读次数:
200
题目链接 题意: 给定一个矩形,n个线段将矩形分成n+1个区间,m个点,问这些点的分布。 题解: 思路就是叉积加二分,利用叉积判断点与直线的距离,二分搜索区间。 代码: 最近整理了STL的一些模板,发现真是好用啊orz,为啥以前没发现呢,可能是比较懒吧-.- ...
分类:
其他好文 时间:
2018-04-11 00:17:05
阅读次数:
162
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1001一开始的想法是排序后二分搜索,发现会进行非常多不必要的遍历,十分耗时间。解决方法:在得到一对数之后顺便令数组长度进行缩短能够有效减少运行时间。 1 #include 2... ...
分类:
编程语言 时间:
2018-04-05 21:28:27
阅读次数:
223
一、 STL函数 lower_bound() 试图在已排序的 [first, last) 中寻找元素 value。返回一个迭代器,指向第一个“不小于 value”的元素,如果 value 大于 [first, last)内的任何一个元素,则返回 last。实际上,它返回“在不破坏顺序的情况下,可插入 ...
分类:
编程语言 时间:
2018-03-31 22:22:26
阅读次数:
235
先看下前中后序遍历的顺序是怎么样的: 下面通过一个例子来具体的描述前序遍历的流程: 以下都以“节点”代替,比如:“28”指的是 “28这个节点”。 流程顺序是:自、左、右 1.先访问“28”,然后访问“28”左节点即“16”。 2.然后“16”的左节点即“13”。好,这里是关键,“13”没继续访问其 ...
分类:
其他好文 时间:
2018-03-19 13:29:12
阅读次数:
169
思路: 由于一般的动态规划时间复杂度是O(n^2)(哈哈哈哈 第一次用的就是这个!)用在这里由于n最大为50000 所以会超时 到这里我们可以用一个数组来动态维护这个最长上升的子序列,将你要输入的子序列一个一个按升序存入数组 如果发现当前要存入的数字x比数组最后一个还要大 那么直接存入数组,否则就将 ...
分类:
其他好文 时间:
2018-03-16 20:22:44
阅读次数:
237
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/8538760.html特别不喜欢那些随便转载别人的原创文章又不给出链接的所以不准偷偷复制博主的博客噢~~ 二分搜索算是常见的搜索方式了,由于有时候经常会遇到返回值不 ...
分类:
其他好文 时间:
2018-03-10 15:54:12
阅读次数:
165