浅析单调递增子序列问题(LIS)
单调递增最长子序列
- 描述
-
求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4- 输入
-
第一行一个整数0<n<20,表示有n个字符串要处理
随后的n行,每行有一个字符串,该字符串的长度不会超过10000 - 输出
- 输出字符串的最长递增子序列的长度
- 样例输入
-
3 aaa ababc abklmncdefg
- 样例输出
-
1 3 7
- 来源
- 经典题目
-
上传者
iphxer -
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define max(a,b) a>b?a:b char s[10005]; int dp[10005]; int main() {int t;cin>>t;while(t--){cin>>s;memset(dp,0,sizeof(dp));int len =strlen(s);int res = 0;for(int i=0;i<len;i++){dp[i]=1;for(int j=0;j<i;j++){if(s[j]<s[i])dp[i]=max(dp[i],dp[j]+1);}res = max(res,dp[i]);}cout<<res<<endl;} }
浅析单调递增子序列问题(LIS)相关推荐
- 最长单调递增子序列O(NlogN)算法
O(NlgN)算法 假设存在一个序列d[1..9] ={ 2,1 ,5 ,3 ,6,4, 8 ,9, 7},可以看出来它的LIS长度为5. 下面一步一步试着找出它. 我们定义一个序列B,然后 ...
- 最长单调递增子序列 python_最长单调递增子序列
前面三篇博客分别讲了贪心,递归,分治,今天就说个简单的动态规划(DP)的题目吧.在我心中DP算是比较难的算法,尤其像状态DP,树形DP,因为实力问题就说一个简单的线性DP--最长单调递增子序列. 题目 ...
- 算法实验-最长单调递增子序列长度
问题描述 解决思路 O(n^2) 首先考虑使用动态规划的方法解决该问题.首先将原问题分解为子问题.对于长度为n的序列(从下标1开始),假设前n-1个元素形成了n-1个以arr[i]结尾的单调递增最长子 ...
- 动态规划作业 最长单调递增子序列
动态规划作业 1.最长单调递增子序列 设计一个 O(n2)时间的算法,找出由 n 个数组成的序列 a 的最长单调递增子序列. 提示: 用数组 b[0:n]纪录以 a[i] (0<= i< ...
- 最长单调递增子序列(时间复杂度O(nlogn))
写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步! 最长单调递增子序列 [题目描述] 找出由n个数组成的序列中的最长单调递增子序列及其长度. [O(n*n)算法解题思 ...
- 算法分析——单调递增子序列
题目描述 设计一个算法,找出由n个数组成的序列的最长单调递增子序列并对算法进行分析.要求时间复杂度分别为O(nlogn)和O(n^2). 方法1 对数组进行遍历,我们设置一个计数器来统计递增序列的长度 ...
- NYOJ 单调递增子序列(二)
单调递增子序列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...
- NYOJ 214 单调递增子序列(二)
单调递增子序列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...
- [51Nod 1218] 最长递增子序列 V2 (LIS)
传送门 Description 数组A包含N个整数.设S为A的子序列且S中的元素是递增的,则S为A的递增子序列.如果S的长度是所有递增子序列中最长的,则称S为A的最长递增子序列(LIS).A的LIS可 ...
- 最长单调递增子序列 [转]
[转] http://skynewborn.blog.sohu.com/66594610.html 单调子序列包含有单调递增子序列和递减子序列,不失一般性,这里只讨论单调递增子序列.首先,从定义上明确 ...
最新文章
- 深入Python(5):random与range
- [BOI2019][第K大问题][暴力剪枝]D2T1 Olympiads
- SSD 安装、训练、测试(ubuntu14.04+cuda7.5+openvc2.4.9)
- livecd制作 centos
- error C1128:字节数超过对象文件格式xxxx.cpp限制:请使用/bigobj进行编译 cmake的解决方式
- 群辉安装失败 找不到服务器,synology NAS 存储安装DSM的方法
- postgresql 字符串转整数 int、integer
- 心情随笔(六):金秋十月备考之路亦别有一番风味
- Restrictions
- python极客项目编程pdf微盘下载_Python极客项目编程
- 从零开始学人工智能--统计学习:统计学习基础知识
- 虚拟机VMware的下载、安装与卸载
- flutter中的常见色值设置
- 时制转换时的电话账单
- c语言扑克牌同花顺比大小,为什么打扑克时“同花顺”最大
- 解决在MAC上输入法切换慢的问题
- endnote 使用方法
- 地理空间数据项目实战——共享单车停车需求识别与地图匹配
- [PHP] 解决TP5 出现错误 continue targeting switch is equivalent to break. Did you mean to use continue...
- HTML做一个简单漂亮的旅游网页(纯html代码)重庆旅游 7页
热门文章
- java poi 读取Excel中的手机号
- 虚拟化实验室推进计算机网络专业实践教学的解决方案
- 【Statistics】10g中 Automatic Statistics Collection维护窗口之探查
- 下列关于python2.x和3.x的区别说法正确_1.??下列关于Python2.x和Python3.x的说法,正确的是()...
- android js桥接,一种JavaScript和原生APP之间数据交互方法与流程
- html的form表单详解
- mysql为什么尽量少星号,mysql – select中是否存在星号排除其他列?
- 机电工程系计算机网络技术,我院物联网工程专业3+1及计算机网络技术专业2+1项目正式开营...
- 如何安装husky_Ubuntu 14.04 编译安装 husky
- 文件流操作,报“because it is being used by another process. ”错误解决