声明:这个系列博客是《数据结构与算法分析 C++描述》的读书笔记系列
参考博客:点击打开链接
本文是原书第二章内容,主要内容包括:算法的时间复杂度分析/算法的优化,分析的例子是很出名的最大子序列求和问题。
分为了四种方法来求解:穷举/穷举优化/递归(分治)/联机算法(动态规划), 算法复杂度为O(N^3)/O(N^2)/O(N*logN)/O(N). 思路都在具体代码里
---------...
分类:
编程语言 时间:
2015-01-24 14:31:54
阅读次数:
184
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2656分析:很容易想到递归分治,但遇到奇数时候f[i]=f[i/2]+f[i/2+1]这样两个部分都分治去做,那么整个时间就退化到了线性。不过容易发现:f[23]=f[11]+f[12]f...
分类:
其他好文 时间:
2014-12-25 00:12:02
阅读次数:
218
比赛时不会,在小岛的帮助下还是把这道题做出来了
/**
汉语题我就不说题意了。
思路:对于整这个区间,每次都找到最小的数,然后递归分治
*/
#include
#include
#include
#include
using namespace std;
int n,a[100005];
int get(int l,int r)
{
int minn=1e9+3;
fo...
分类:
其他好文 时间:
2014-12-14 22:50:04
阅读次数:
406
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
编程语言 时间:
2014-10-18 00:34:46
阅读次数:
340
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-10-05 11:03:18
阅读次数:
276
本章主要是算法知识的基础讲解,介绍了循环不变式,几个简单的排序算法,递归分治算法等内容。
1、循环不变式
循环不变式主要用来说明算法的正确性,那么什么是循环不变式呢,其实就是在循环过程中,一些元素数据必须保持的一些性质,例如在插入排序中,数组为A,必须保证三个性质:
(1) 初始化:在循环开始之前,循环不变式是成立的,即:A[0]是有序的,A[1...n-1]是无序的。
(2) 保持:在循...
分类:
其他好文 时间:
2014-08-05 15:53:01
阅读次数:
220
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-07-01 19:09:02
阅读次数:
193
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
其他好文 时间:
2014-05-09 08:10:36
阅读次数:
338
问题描述
给定(可能是负的)整数序列A1, A2,...,AN, 寻找(并标识)使Sum(Ak)(k >=i, k <= j)的值最大的序列。如果所有的整数都是负的,那么连续子序列的最大和是零。...
分类:
其他好文 时间:
2014-05-08 01:49:14
阅读次数:
273