1 #include 2 3 void bubble(int *arr, int length) 4 { 5 int i, j, tmp; 6 for(i=0;iarr[j+1])11 {12 tmp = arr[j];1...
分类:
其他好文 时间:
2014-08-13 18:09:06
阅读次数:
213
二分查找,顾名思义就是分量分查找。采用二分法查找时,数据需是排好序的,这是使用二分查清找的前提。该算法的基本实现思路是: 1.先将数据排序 2.确定中间位置mid=(first+last)/2; 3.比较所要查找的关键字 key与中间位置的关键字的大小,如果比key和mid.k...
分类:
其他好文 时间:
2014-08-12 21:51:54
阅读次数:
328
题目链接
题意:有n个宽为w的旗门,第i个旗门左端的坐标为(xi,
yi),对于所有1
思路:当垂直速度越小时,到达下一个旗门的概率就越大。所以先将滑雪板的速度从小到大排序。其实一个旗门到下一个旗门是有一个区间的,所以只要下一个旗门与这个区间有交集,就代表能从上一个抵达下一个,我们就可以根据这个做法加上二分法查找能通过所有旗门的最大速度。
#include
#includ...
分类:
其他好文 时间:
2014-08-09 23:20:29
阅读次数:
258
题目链接
题意:有n个任务,每个任务必须在在时刻[r,
d]之内执行w的工作量(三个变量都是整数)。处理器执行的速度可以变化,当速度为s时,一个工作量为w的任务需要 执行的时间为w/s个单位时间。另外不一定要连续执行,可以分成若干块。求处理器在执行过程中最大速度的最小值。处理器速度为任意的整数值。
思路:其实类似于最大值的最小化,也就是在满足各个任务在给定的时间区间内完...
分类:
其他好文 时间:
2014-08-09 18:54:08
阅读次数:
174
二分法,三分法主要是空间图形的不同,二分法主要解决的是在某个区间之间单调增或减的图形,而三分法主要解决的是凸形,或者凹形的图形,这样的用三分法比较方便些。
二分法模板,
整数类型的有以下大致模板:
int low=0,high=n,mid,x,res=-1;
while(low<high)
{
mid=(high+low)/2;
if(num[mid]==x)//其中x...
分类:
其他好文 时间:
2014-08-07 19:14:40
阅读次数:
169
说说:首先,最终蚂蚁的行走路线可以看成一直在沿着正方形的边沿走。而最大的正方形的边长是平方之后小于所给时间N的最大整数。这个最大的正方形的边长可以通过二分法获得。而且要注意的是根据边长的奇偶性,剩余路线的出发点可能在右下角,也可能在左上角。然后将剩余的要走的路再分成在到达顶点(即转折点)之前和之后,通过简单的数学计算最后就可以判断出蚂蚁最后的位置啦!
题目:
Ant on a...
分类:
其他好文 时间:
2014-08-06 19:16:52
阅读次数:
385
【题意描述】对于给定的四个序列,从每个序列中选出一个数,并让四个数相加,输出所有相加和为0的情况数目。【解题思路】我们可以考虑前两列的数字相加之和一定与后两列相加和互为相反数,那么我们可以枚举出前两列数字之和,并且,枚举出后两列数据之和的相反数,并对之排序,然后利用二分法进行查找即可。【AC代码】#...
分类:
其他好文 时间:
2014-08-05 18:42:39
阅读次数:
190
【题意描述】给定一串数据,划分成m段,并把每段内的数据相加,使得m段数据中的最大值最小。【思路分析】这里很多人可能考虑用DP,但是会超时。那么根据DP与分治的联系,我们可以联想到运用二分法,对所求最大值进行二分,直到所划分区间的数目等于m段即停止。这里在确定二分的区间有点技巧,首先low肯定是整个数...
分类:
其他好文 时间:
2014-08-05 13:29:59
阅读次数:
217
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.题意:给定一个有序的链表,将其转换成平衡二叉搜索树思路: 二分法要构建一个平衡二叉...
分类:
其他好文 时间:
2014-07-29 13:40:48
阅读次数:
601