题目大意:Wavio序列是关于整数的序列,有这样的性质:
1.长度为奇数,L=2*n+1
2.前n+1项严格递增
3.后n+1项严格递减
4.相邻的两个数不相等
给出n个数的序列,求出其中最长的Wavio子序列的长度。
依次对每个元素求以它为结束的最长上升子序列和以它为开始的最长下降子序列,b[i]为以i为最后一个元素的最长上升子序列,c[i]为以i为第一个元素的最长下降子序列...
分类:
其他好文 时间:
2015-03-06 01:03:40
阅读次数:
222
这是一个入门级的算法,但它却揭示了计算机算法设计的一些核心思想:枚举与分治递归。这篇文章主要由简单到复杂来解析这一问题,流程大致是:枚举求解(充分利用计算机的计算能力来解决单调复杂问题),算法分析与改进(相对偏移化简枚举法),分治算法(divide-conquer,计算机核心思想之一),递归算法与递...
分类:
编程语言 时间:
2015-03-01 00:14:24
阅读次数:
330
1、最长公共子序列:(x和y是两个数组的长度)f(x,y) = 0 if(x==0 || y==0) f(x-1,y-1)+1 if(A[x-1]==B[y-1]) max{f(x-1,y), f(x,y-1)} if(A[x-1]!=B...
分类:
其他好文 时间:
2015-02-24 17:25:49
阅读次数:
210
题意,给出一列数,要求所有上升子序列中序列和最大的。这回不是求长度了,但是还是相当基础的 dp 水题,只要用 dp [ q ] 记录以 第 q 个数 a [ q ] 为结尾的上升子序列的最大的和就可以了对于 q ,初始化 dp [ q ] = a [ q ] ,从最前面到 q遍历,若有第 i 个数 ...
分类:
其他好文 时间:
2015-02-13 16:14:03
阅读次数:
124
转自 http://www.cnblogs.com/CCBB/archive/2009/04/25/1443455.html问题描述:输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20...
分类:
其他好文 时间:
2015-02-10 13:09:14
阅读次数:
199
n^2的算法就行,很简单的动态规划。直接上代码/* * Author : ben */#include #include #include #include #include #include #include #include #include #include #include #incl...
分类:
其他好文 时间:
2015-02-07 22:55:16
阅读次数:
168
在写题解之前给自己打一下广告哈~。。抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下:http://edu.csdn.net/course/detail/209题目:Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1390 ...
分类:
其他好文 时间:
2015-02-06 13:14:18
阅读次数:
162
声明:这个系列博客是《数据结构与算法分析 C++描述》的读书笔记系列
参考博客:点击打开链接
本文是原书第二章内容,主要内容包括:算法的时间复杂度分析/算法的优化,分析的例子是很出名的最大子序列求和问题。
分为了四种方法来求解:穷举/穷举优化/递归(分治)/联机算法(动态规划), 算法复杂度为O(N^3)/O(N^2)/O(N*logN)/O(N). 思路都在具体代码里
---------...
分类:
编程语言 时间:
2015-01-24 14:31:54
阅读次数:
184
题目链接:点击打开链接
题意:
给定一个长整数
求所有不同的子序列和。
思路:
dp[i]表示以i数字为结尾的序列的和
num[i]表示以i数字为结尾的序列个数
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
i...
分类:
其他好文 时间:
2015-01-23 20:10:12
阅读次数:
164