动态规划 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 ...
随机推荐
- 可变对象 vs 不可变对象(Python)
Python 在 heap 中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容是可变的,例如 list.而不可变的对象则相反,表示其内容不可变. 不可变对象:int,string ...
- 42.angularJS自定义服务
转自:https://www.cnblogs.com/best/tag/Angular/ 1. 你可以创建自定义服务,链接到你的模块中: <!DOCTYPE html> <html& ...
- [JSOI2008] [BZOJ1567] Blue Mary的战役地图 解题报告 (hash)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1567 Description Blue Mary最近迷上了玩Starcraft(星际争霸 ...
- ThinkPhp5-PHPExcel导出数据
PHP-Excel 标签(空格分隔): php 类库下载地址:https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8 php导出excel表格数据 ...
- 【DNN 系列】 添加模块后不显示
添加模块后不显示分为几个原因 1.检查.dnn文件是否填写正确,要和对应的页面文件对应上 我有一步是这这个名称地方我填上了 就不显示了.这里需要注意,VIEW 的名城是不需要写的 2.重写文件 实体操 ...
- AD域导入导出命令
AD域 批量组织机构.用户导入导出 参考网站 https://technet.microsoft.com/zh-cn/library/cc753447(v=ws.11).aspx 导入所有命令 均cm ...
- ReactiveCocoa结合了几种编程风格
函数式编程(Functional Programming):使用高阶函数,例如函数用其他函数作为参数.响应式编程(Reactive Programming):关注于数据流和变化传播.所以,你可能听说过 ...
- Debian9.5 系统配置持久化iptables规则
RedHat和SUSE系列下有比较好用的iptables管理工具,可以像控制服务进程一样来对防火墙进行管理及控制,Debian系发行版默认不开启iptables,当然也没有与之相关的能直接管理的工具了 ...
- [NOI2010]海拔 平面图转对偶图 最小割
题解: 首先,我们不难猜到高度只有 $0$ 或 $1$ 两种可能,而且高度为 0 的地区组成一个联通块,高度为 1 的地区组成一个联通块.只有这样,人们所耗费的体力才是最小的.得出这个结论,题目就成了 ...
- Windows10通过VNC远程连接Ubuntu18.04
1.打开终端输入:sudo apt-get install xrdp vnc4server xbase-clients dconf-editor 2.接着在终端输入: 进入到下面这个界面: 接着按照这 ...