码迷,mamicode.com
首页 >  
搜索关键字:归并排序 二分查找    ( 5560个结果
【不定期更新】noip复习(或许有误请指正)
一、基本算法2.二分查找void find(int l,int r){ if (l>r || a[l]>x || a[r]> 1; if (a[mid] == x){ if (mid a[mid]) find(mid+1, r); else find(l, mid-...
分类:其他好文   时间:2014-07-21 09:15:15    阅读次数:227
POJ 2299 Ultra-QuickSort (求序列的逆序对数)
题意:废话了一大堆就是要你去求一个序列冒泡排序所需的交换的次数。 思路:实际上是要你去求一个序列的逆序队数 看案例: 9 1 0 5 4 9后面比它小的的数有4个 1后面有1个 0后面没有 5后面1个 4后面没有 所以结果为4+1+0+1+0=6 所以逆序对的定义如果不清楚可以自己总结了 这道题说白了就是要你用归并排序求逆序对数。 下面是搜到某牛给的逆序对数的方法:...
分类:其他好文   时间:2014-07-20 09:38:35    阅读次数:234
HDU 4417 Super Mario
题意: 有n个数字 m个查询 每个查询询问区间[l,r]内有几个数字小于h 思路: 由于n个数字是不变的 所以可以利用划分树在nlogn复杂度内求出任意区间的第k小值(这里指建树) 每次查询可以二分查找该区间第几小的数小于等于h 那么答案就是二分出的个数 总复杂度 nlogn + m(logn)^2 即 建树复杂度 + m次询问*每次查询logn*二分复杂度logn n和m都只有10^5 完全可过...
分类:其他好文   时间:2014-07-19 23:35:59    阅读次数:232
STL 源码剖析 算法 stl_algo.h -- lower_bound
lower_bound(应用于有序区间) -------------------------------------------------------------------------------------------------------------------------- 描述:二分查找,返回一个迭代器指向每一个"不小于 value "的元素, 或 value 应该存在的位置 思路: 1.循环直到区间长度为 0 2.如果 *middle < value,在后半段继续查找 3.如果 *mid...
分类:其他好文   时间:2014-07-19 23:30:41    阅读次数:382
Codeforces Round #256 (Div. 2) D. Multiplication Table(二分查找)
Codeforces Round #256 (Div. 2) D. Multiplication Table(二分查找)...
分类:其他好文   时间:2014-07-19 18:38:19    阅读次数:195
白话经典算法系列之五 归并排序的实现(转)
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个...
分类:其他好文   时间:2014-07-19 15:23:57    阅读次数:241
插入排序与归并排序的C#实现
算法导论在介绍算法时列举了插入排序与并归排序,以此来说明什么事算法,算法效率以及提出了算法设计中重要的思想--分治,也就是将问题划分为规模较小的子问题。这种思想在大规模运算时具有显著的时间开销优势,例如插入排序和并归排序,其时间开销大致分别等于C1N2和C2Nlog2N。下面介绍具体的代码:首先是插...
分类:其他好文   时间:2014-07-19 11:23:35    阅读次数:220
Codeforces Round #256 (Div. 2) 题解
Codeforces Round #256 (Div. 2) 题解...
分类:其他好文   时间:2014-07-19 02:33:15    阅读次数:287
CodeForces 425D Sereja and Squares
题意: 平面上有n个点 问 最多能组成多少个边与坐标轴平行的正方形 思路: 这是一个通过不断二分查找乱搞的题… 首先枚举左下角 然后分别往上往右找左上角和右下角 这时如果发现边长不想等就通过长边长度在短边的方向二分查找最接近的值 不停往上往右延伸 如果发现边长想等了 那么要判断一下对应的左上角坐标出是不是有一个点 怎么判断呢 通过将所有点hash出一个值 然后二分… 反正这题就是各种二分乱搞 - -b 复杂度不好算 大概是n*(同x的点数+同y的点数)...
分类:其他好文   时间:2014-07-18 13:37:03    阅读次数:326
Ultra-QuickSort (树状数组离散化)
题目原意是用归并排序,刚学树状数组,就用了下 树状数组的离散化 离散化,是数据范围太大是所借用的利器,举个例子,有四个数99999999 1 123 1583 数据范围太大,而树状数组中的c数组开的范围是数据的范围,这时候就需要离散化,把四个数一次标号为1 2 3 4(即第一个数,第二个数。。。),按键值排序之后 依次为2 3 4 1(即从小到大排序为第二个数,第三个数。。。),所以,第二个数...
分类:其他好文   时间:2014-07-18 12:33:14    阅读次数:214
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!