动态规划 LCS,LIS
1、最大连续子序列
dp[i]=max(dp[i-1]+a[i],a[i]) 以i为结尾
2、最大不连续子序列
dp[i]=max(dp[j]+a[i],dp[j])
3、最大连续递增子序列
if a[i]>a[j]
dp[i]=max(dp[i-1]+a[i],a[i])
4、最大不连续递增子序列
if a[i]>a[j]
dp[i]=max(dp[j]+a[i],dp[j])
5、最长不连续公共子序列
if a[i-1]==b[j-1]
dp[i][j]=dp[i-1][j-1]+1;
else
dp[i][j]=max(dp[i-1][j],dp[i][j-1])
6、最长不连续递增子序列
if a[i]>a[j]
dp[i]=max(dp[j])+1
7、最长连续递增子序列
if a[i]>a[i-1]
dp[i]=dp[i-1]+1;
8、最长公共字串
char s1,s2;
int f=0,last=0,Max=0;
for(int i=1;i<=l1;++i)
for(int j=l2;j>=1;--j) //必需要逆序的,正序要用2维的
if s1[i-1]==s2[j-1]
dp[j]=dp[j-1]+1;
if(dp[j]>Max){
Max=dp[j];
last=j-1;
f=last-Max+1;
for(int i=f;i<=last;++i)
lcs[i]=s2[i];
动态规划 LCS,LIS的更多相关文章
- 【ACM程序设计】动态规划 第二篇 LCS&LIS问题
动态规划 P1439 [模板]最长公共子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给出 1,2,-,n 的两个排列 P1 和 P2 ,求它们的最长公共子序列. ...
- 算法起步之动态规划LCS
原文:算法起步之动态规划LCS 前一篇文章我们了解了什么是动态规划问题,这里我们再来看动态规划另一个经典问题,最长公共子序列问题(LCS),什么是子序列,我们定义:一个给定序列将其中的0个或者多个元素 ...
- LCS/LIS/LCIS 模板总结
/************************* LCS/LIS/LCIs模板总结: *************************/ /*************************** ...
- hdu 1423(LCS+LIS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1423 好坑啊..还有公共串为0时的特殊判断,还有格式错误..看Discuss看知道除了最后一组测试数据 ...
- LCS,LIS,LCIS
网站:CSUST 8月3日(LCS,LIS,LCIS) LCS: 以下讲解来自:http://blog.csdn.net/yysdsyl/article/details/4226630 [问 ...
- LCS,LIS,LCIS学习
for(int i = 1;i <= n;i++) { int dpmax = 0; for(int j = 1;j <= m;j++) { dp[i][j] = dp[i-1][j]; ...
- 动态规划:LIS优化
对于1D/1D动态规划来说,理论时间复杂度都是O(n^2)的,这种动态规划一般都可以进行优化,贴一篇文章 https://wenku.baidu.com/view/e317b1020740be1e65 ...
- LCS+LIS
#include<iostream> #include<string> using namespace std; string a,b; ][]; int main() { w ...
- Uva 10635 - Prince and Princess LCS/LIS
两个长度分别为p+1和q+1的由1到n2之前的整数组成的序列,每个序列的元素各不相等,两个序列第一个元素均为1.求两个序列的最长公共子序列 https://uva.onlinejudge.org/in ...
随机推荐
- 44.AngularJS Bootstrap
转自:https://www.cnblogs.com/best/tag/Angular/ Bootstrap 你可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在 ...
- EL中的param和params
转自:https://blog.csdn.net/javamoo/article/details/55667449 ${param.name}等价于request.getParameter(" ...
- Redis的好处知识
参考文章 http://www.cnblogs.com/wupeiqi/articles/5132791.html 使用Redis有哪些好处? () 速度快,因为数据存在内存中,类似于HashMap, ...
- sql查询每个学生的最高成绩mysql语句
张三 语文 100 张三 数学 83 李四 语文 88 李四 数学 100 查询每个学生的最高成绩. select b.* from (select name,max(score) score fro ...
- Spring深入浅出(四)AOP面向切面
面向切面编程--AOP AOP(Aspect Oriented Programming),程序员称之为面向切面编程,是Spring框架除了IOC之外的另一个核心概念. AOP是对OOP(面向对象编程) ...
- rails 开发随手记 8
rails上传文件 无需gem 首先是model class DataFile < ActiveRecord::Base def initialize end def name @name en ...
- 作诗(si)[分块]
题目描述 神犇SJY虐完HEOI之后给傻×LYD出了一题: SHY是T国的公主,平时的一大爱好是作诗. 由于时间紧迫,SHY作完诗之后还要虐OI,于是SHY找来一篇长度为N的文章,阅读M次,每次只阅读 ...
- Unity C# 设计模式(三)工厂方法模式
定义: 定义一个创建对象的接口(父类),由子类决定需要实例化哪一个类. 这样,核心工厂类成为了一个抽象角色,不再负责产品的创建,仅提供具体工厂类所必须实现的接口,这样进一步抽象化的好处是使得工厂方法模 ...
- GenIcam标准介绍
GenICam TM的目标是为各种相机和设备提供通用编程接口.无论他们使用什么接口技术(GigE Vision,USB3 Vision,CoaXPress,Camera Link HS,Camera ...
- 【Round #36 (Div. 2 only) B】Safe Spots
[题目链接]:https://csacademy.com/contest/round-36/task/safe-spots/ [题意] 给你n个数字构成的序列; 每个位置上的数都由0和1组成; 对于每 ...