动态规划(DP),最长递增子序列(LIS)
题目链接:http://poj.org/problem?id=2533
解题报告:
状态转移方程:
dp[i]表示以a[i]为结尾的LIS长度
状态转移方程:
dp[0]=1;
dp[i]=max(dp[k])+1,(k<i),(a[k]<a[i])
#include <stdio.h>
#define MAX 1005 int a[MAX];///存数据
int dp[MAX];///dp[i]表示以a[i]为结尾的最长递增子序列(LIS)的长度 int main()
{
int i,j,n;
scanf("%d",&n);
for(i=;i<n;i++)
scanf("%d",&a[i]);
dp[]=;
int Max=;
for(i=;i<n;i++)
{
int k=;
for(j=;j<i;j++)
{
if(a[j]<a[i]&&k<dp[j])
{
k=dp[j];
}
}
dp[i]=k+;
}
for(i=;i<n;i++)
{
if(Max<dp[i])
Max=dp[i];
}
printf("%d\n",Max);
return ;
}
动态规划(DP),最长递增子序列(LIS)的更多相关文章
- 最长回文子序列LCS,最长递增子序列LIS及相互联系
最长公共子序列LCS Lintcode 77. 最长公共子序列 LCS问题是求两个字符串的最长公共子序列 \[ dp[i][j] = \left\{\begin{matrix} & max(d ...
- 2.16 最长递增子序列 LIS
[本文链接] http://www.cnblogs.com/hellogiser/p/dp-of-LIS.html [分析] 思路一:设序列为A,对序列进行排序后得到B,那么A的最长递增子序列LIS就 ...
- 一个数组求其最长递增子序列(LIS)
一个数组求其最长递增子序列(LIS) 例如数组{3, 1, 4, 2, 3, 9, 4, 6}的LIS是{1, 2, 3, 4, 6},长度为5,假设数组长度为N,求数组的LIS的长度, 需要一个额外 ...
- 算法之动态规划(最长递增子序列——LIS)
最长递增子序列是动态规划中最经典的问题之一,我们从讨论这个问题开始,循序渐进的了解动态规划的相关知识要点. 在一个已知的序列 {a1, a 2,...an}中,取出若干数组成新的序列{ai1, ai ...
- 动态规划 - 最长递增子序列(LIS)
最长递增子序列是动态规划中经典的问题,详细如下: 在一个已知的序列{a1,a2,...,an}中,取出若干数组组成新的序列{ai1,ai2,...,aim},其中下标i1,i2,...,im保持递增, ...
- 动态规划之最长递增子序列(LIS)
在一个已知的序列{ a1,a2,……am}中,取出若干数组成新的序列{ ai1, ai2,…… aim},其中下标 i1,i2, ……im保持递增,即新数列中的各个数之间依旧保持原数列中 ...
- hdu1257最少拦截系统 动态规划(最长递增子序列(LIS))
Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高 ...
- Python动态规划求解最长递增子序列(LIS)
原始代码错误,移步博客查看O(N^2)及优化的O(N*logN)的实现:每天一道编程题--最长递增子序列
- [DP]最长递增子序列
#include <iostream> #include <limits.h> #include <vector> #include <algorithm&g ...
随机推荐
- Oracle命令整理
1 常用命令 常用命令 1 sqlplus scott/tiger@192.168.47.10:1521/orcl 后面不要加: sqlplus sys/oracle as sysdb ...
- vim脚本语言
转自:http://man.chinaunix.net/newsoft/vi/doc/usr_41.html#usr_41.txt Vim 脚本语言在很多地方用到,包括 vimrc 文件, 语法文件, ...
- Sql server 0x80131904
这是一个比较让人纠结的错误. 背景:添加了网站的分支,要拿一个现有的数据库做一个新的数据库的东东. 首先就是还原备份,然后做代码的修改.然而在登录的时候报了这个错误.0x80131904 什么插入的列 ...
- 【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...
- HTML标签 随笔2
3-1 使用ul 添加新闻信息列表 ul-li是没有前后顺序的信息列表. 语法: <ul> <li>信息</li> <li>信息</li&g ...
- Linux虚拟系统安装——Ubuntu18.04 & CentOS6.5
Linux虚拟系统安装--Ubuntu18.04 & CentOS6.5 摘要:Linux简介.虚拟系统安装.系统备份与文件介绍 1. Linux简介 (1)1968年,MIT.Bell实验室 ...
- Java入门到精通——调错篇之Spring2.5使用AOP时报错only available on JDK 1.5 and higher
一.问题描述及原因. 在Spring2.5Aop例子中的时候会出现一个错误only available on JDK 1.5 and higher,大概意思就是需要JDK1.5甚至更高版本.但是我用的 ...
- phonegap2.0+在xcode4.5上的搭建
首先网上很多文章都是phonegap1.X的,可是自2.0后就没有相关的安装文件了,只有官网上写了怎么装 不过官网有时候打不开,可能是首页出了问题 但http://docs.phonegap.com这 ...
- 一個新的面試題目,leetcode上面可以找到shortest palindrome
記錄一下新的面試題目,其實題目是舊的,只是我才見到.以前研究過,只不過以前的解法不容易理解,現在有了新的遞歸解法.記錄一下. public String shortestPalindrome(Stri ...
- [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift
在经历了长达三周的等待之后,微软于今天终于面向Windows Insider项目的Fast通道用户发布了Windows 10 Build 16273版本更新.事实上,微软应该会在两周前就应该发布新版本 ...