动态规划_最长上升子序列LIS
来源:互联网 发布:java中反射的应用场景 编辑:程序博客网 时间:2024/06/08 04:29
最长上升最序列Longest Increasing Subsequence
动态规划解决的经典问题
子序列不等于子串,子串一定是自序列,但子序列不一定是子串
因为子串必须连续
将该题分解为n个子问题:
求解最后一个元素为原数组第i个元素的最长上升子序列 的长度
#include <iostream>#include <cstdio>using namespace std;int n, dp[101], num[101], result = 0;int main() { scanf("%d", &n); for (int i = 1; i <= n; ++i) { scanf("%d", &num[i]); } // begin: 在下面实现动态规划的核心代码 for(int i=1;i<=n;++i){ //初始化每个子问题结果 dp[i]=1; for(int j=1;j<i;++j){ if(num[j]<num[i]){ //如果i位置元素大于在其之前的j位置元素,将j位置长度加一 //如果加一后长度较大,则更新i位置长度 dp[i]=max(dp[j]+1,dp[i]); } } result=max(result,dp[i]); } // end. printf("%d\n", result); return 0;}
0 0
- 动态规划_最长上升子序列LIS
- 动态规划-最长上升子序列LIS
- 动态规划-最长上升子序列【LIS】
- 动态规划 LIS最长上升子序列
- 动态规划--最长上升子序列LIS
- 动态规划-最长上升子序列(LIS)
- 【动态规划】最长上升子序列(LIS)
- 动态规划——最长上升子序列问题(LIS)
- 动态规划 最长上升子序列(LIS)
- 【转载】动态规划--最长上升子序列(LIS)
- 动态规划7:最长上升子序列LIS
- 动态规划DP_最长上升子序列LIS
- 动态规划4_最长上升子序列
- 动态规划 - 最长递增子序列LIS
- 最长递增子序列(LIS)-动态规划
- 动态规划:最长上升子序列
- 动态规划求最长上升子序列
- 【算法】动态规划 最长上升子序列
- C#控制台 通过getlength函数得到一个二维数组的行与列
- python学习笔记(1)_关于IDLE
- 管理 Java 类路径 (Windows)
- C#控制台 初始化交错数组
- JavaScript call() apply()学习笔记
- 动态规划_最长上升子序列LIS
- Linux内核的namespace机制分析
- test
- 那些年Genymotion遇到的坑,致Unable to load virtualbox engine.和Unable to start the virtual device.等
- 【一天一道LeetCode】#292. Nim Game
- JavaScript对象与继承
- java笔记(一)java的反射机制
- onload事件不执行的解决方法
- 配置Struts2(以登录为例)