设计过程分为三个阶段
Divide: 整个问题划分为多个子问题 T(n)=D(n)
Conquer:求解各子问题(递归调用正设计的算法) T(n)=aT(n/b)
Combine:合并子问题的解, 形成原始问题的解T(n)=C(n)
Note: 将规模为n的问题划分为a个子问题,每个问题的大小为n/b。(b可能不等于a!)
时间复...
分类:
编程语言 时间:
2014-11-25 10:46:48
阅读次数:
222
文章来自网络加课本:
本次学习的内容讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。...
分类:
编程语言 时间:
2014-11-22 09:21:35
阅读次数:
286
二路归并排序主要运用了“分治算法”,分治算法就是将一个大的问题划分为n个规模较小而结构相似的子问题。这些子问题解决的方法都是类似的,解决掉这些小的问题之后,归并子问题的结果,就得到了“大”问题的解。 二路归并排序主旨是“分解”与“归并” 分解: 1.将一个数组分成两个数组,分别对两...
分类:
编程语言 时间:
2014-11-16 23:03:55
阅读次数:
2377
一、实验目的:熟悉掌握分治算法设计技术二、实验要求:1、按教材所授内容要求,完成“棋盘覆盖问题”算法。得到一个完整正确的程序。2、棋盘大小:32*32(或16*16)3、输出最终结果。三、实验设备及环境:PC机一台、java虚拟机Eclipse或jdk环境四、问题描述:通过一门语言写一个棋盘覆盖算法...
分类:
编程语言 时间:
2014-11-15 21:44:50
阅读次数:
666
一、实验目的:熟悉掌握分治算法设计技术。二、实验要求:1、按教材所授内容要求,完成“线性时间选择问题”算法。得到一个完整正确的程序。2、问题规模:不少于20003、输出最终结果。三、实验设备:PC机一台四、问题描述:运用分治法的原理,对随机生成的数进行查找,找出其中第K大小的数,找出之后输出所找到的...
分类:
编程语言 时间:
2014-11-15 21:37:28
阅读次数:
629
本题是利用cdq分治 实现斜率优化的一个题目
斜率优化之前做的几个题都是斜率单调,并且插入点时由于点在某一维单调,所以仅仅操作队首和队尾就能完成优化了
但是本题显然不是
主要参考了两个东西
从《Cash》谈一类分治算法的应用
(Day1)cdq分治相关
这两个直接在百度上搜 ,第一个出来的就是
本题的题意是
一个公司获得了一个厂房n(10^5)天的使用权...
分类:
系统相关 时间:
2014-11-08 15:22:58
阅读次数:
261
前言:动态规划的概念 动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。分治算法是指将问题划分为一些独立的子问题,递归的求解各个问题,然后合并子问题的解而得到原问题的解。例如归并排序,快速排序都是采用分治算法思想。本书在第二章介绍归并排序时,详细介绍了分治算法....
分类:
其他好文 时间:
2014-11-06 10:48:17
阅读次数:
204
Distance Statistics
Time Limit: 2000MS
Memory Limit: 64000K
Total Submissions: 1667
Accepted: 532
Case Time Limit: 1000MS
Description
Frustrated at the number of d...
分类:
其他好文 时间:
2014-11-05 13:10:43
阅读次数:
217
特别的,当序列所有整数均为负整数时,其最大子和为0。 1 #include 2 3 int caluMaxSubSum(int *array, int left, int right); 4 5 int main() 6 { 7 int array[6] = {2, -2, 3,...
分类:
编程语言 时间:
2014-11-01 16:17:18
阅读次数:
137
分治(Divide and Conquer)算法:问题可以分解为子问题,每个问题是可以独立的解决的,从子问题的解可以构建原问题。
Divide:中间分、随机分、奇偶分等,将问题分解成独立的子问题
Conquer:子问题的解可以单独解决,从子问题的解构建原问题最终的解
Combine:每一步将子问题产生的解进行合并得到最终的解,合并的复杂度影响最终的算法时间复杂度
Karatsuba算法是在...
分类:
编程语言 时间:
2014-11-01 01:03:41
阅读次数:
339