在某些情况下,需要处理很大的整数,它无法在计算机中精确的表述和处理。若要精确的表示大整数,就必须使用软件的方法来实现大整数的运算。最常用的解决大整数运算的方法是使用一个二重循环,其算法时间复杂度为O(m*n)(其中m,n分别为两个大整数的长度);而选用分治方法则可..
分类:
其他好文 时间:
2014-09-15 03:23:48
阅读次数:
280
上篇文章讲到插入排序算法,是一个标准的增量方法:在排好的子数组后,将元素插入,形成新的数组。今天要介绍的是一种新方法:分治法。 分治法,将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就能得到原问题的解。在每一层递归上都会有三个步骤:分解:将原问题...
分类:
其他好文 时间:
2014-09-14 19:14:37
阅读次数:
199
主要是整理起来自己用的。网上有多个版本。
初级:
一.基本算法:
(1)枚举. (poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295)
(6)模拟法.(poj1068,poj2632,poj1573,poj299...
分类:
其他好文 时间:
2014-09-14 11:23:17
阅读次数:
351
二分算法是我们经常会用到的一个算法。它是分治法的一个应用。不过,虽然他写起来貌似很简单,但是却很容易写错。下面我们讨论一下二分的死循环问题。(这里讨论的是整数的二分问题,浮点数的二分不容易死循环)
1.查找的元素确定,值唯一或者不存在
这种情况等下,我们的流程分为三个分支:(相等、小于、大于)。这类不容易死循环,代码如下:
if ( data[mid] == ...
分类:
其他好文 时间:
2014-09-13 18:48:55
阅读次数:
1049
题目: 给出一列数,a1, a2,....到 an,求它的逆序对数。逆序对就是 下标 i 比 j小,但是值 ai 却比 a j大。n 可以高大 10万。
思路:
(1)穷举,肯定不现实的,因为n 可以高达10万,肯定超时;
(2)考录分治法,受到归并排序的启发,能不能不断划分数组到最小,然后合并时统计 逆序对数。划分和递归都和归并排序没什么区别,问题在合并时如何统计。
合并左右两个数...
分类:
其他好文 时间:
2014-09-11 22:29:12
阅读次数:
220
这两道题的基本思路和combination那一题是一致的,也是分治的方法。其中combination Sum复杂一点,因为每个数可能用多次。仔细分析下,本质上也是一样的。原来是每个数仅两种可能。现在每个数有k +1中可能,k = target / i。所以就是把简单的if else 分支变成for循...
分类:
其他好文 时间:
2014-09-11 22:15:22
阅读次数:
188
组合数,这题的关键是不能漏解。第一感觉应该是分治法。这里,为了方便叙述,使用一个辅助函数vector> combhelper(int first, int last, int k);含义是从first 到last(左闭右开)的区间中选择K个数的组合数,我们倒过来看,最后一个数(last - 1)或者...
分类:
其他好文 时间:
2014-09-11 20:55:12
阅读次数:
187
/*** 解决因为链表过长,sql查询慢的问题* 使用分治算法,先切分链表,然后查询结果,最后合并结果* * @author lingpy* @since 1.0*/public class DivideAndConquerUtil { /** * * @param dataList 元数据 ...
分类:
数据库 时间:
2014-09-11 10:52:11
阅读次数:
192
一开始讲了算法的空间复杂度和时间复杂度的分析,其怎么由来的,一步步的分析演变,以前看过《算法之道》,这个还有点熟悉,就是具体的例子的时间复杂度的分析不怎么
会,应多加练习,毕竟
这是很基础的东西~
然后就是递归和分治~ 今晚只够时间讲递归~
其实,都看过递归~以前刚刚开始接触的时候觉得很容易,慢慢的就很难了,就是实现代码的时候碰到了思维障碍,过不去,大二时就学过递归~很重要的基础
以前的...
分类:
其他好文 时间:
2014-09-11 01:12:11
阅读次数:
189
快速排序算法是一种划分交换的方法,采用了分治法进行排序。1 public static void quikSort(int a[],int left,int right)2 {3 if(left >= right)return;4 int p = part...
分类:
其他好文 时间:
2014-09-10 22:16:11
阅读次数:
138