JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】
正题
题目链接:http://www.joyoi.cn/problem/tyvj-1071
题目大意
求两个序列的最长公共上升子序列。
code
我们先回顾一下LIS和LCS
LIS:
f_i=max\{f_j+1\}(j
LCS:
f_{i,j}=max\begin{Bmatrix}\\ f_{i-1,j}\\ f_{i,j-1}\\ f_{i-1,j-1}+1 (a_i=b_i)\\\\\end{Bmatrix}
我们将其融合一下就变成了
f_{i,j}=max\{f_{i-1,k}\}+1(k
于是我们就得到了一个TLE方程,然后因为每次k的范围只多了一个选项,于是我们就每次用变量计算最大就好了,于是 O(n2)O(n2)O(n^2)的算法就出来了。
code
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[3001],b[3001],f[3001][3001],val;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
scanf("%d",&b[i]);
for(int i=1;i<=n;i++)
{ val=0;//统计答案的变量
for(int j=1;j<=n;j++)
{ if(a[i]==b[j]) f[i][j]=val+1;
else f[i][j]=f[i-1][j];//动态转移
if(b[j]<a[i]) val=max(val,f[i-1][j]);//更新最大值
}
}
val=0;
for(int i=1;i<=n;i++) val=max(val,f[n][i]);
printf("%d",val);
}
JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】相关推荐
- 蓝桥 蓝桥骑士 线性dp lis
题目描述 小明是蓝桥王国的骑士,他喜欢不断突破自我. 这天蓝桥国王给他安排了 N 个对手,他们的战力值分别为 a1,a2,...,an,且按顺序阻挡在小明的前方.对于这些对手小明可以选择挑战,也 ...
- tyvj 1067 合唱队形 dp LIS
P1067 合唱队形 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2004 提高组 第三道 描述 N位同学站成一排,音乐老师要请其中的(N-K)位 ...
- BUCTOJ周赛(5)问题 E: 数学(线性DP+LCS)
题目链接 (题目好像现时,不过可以参考着学一下这种类型) 这个题目是正常的线性动态规划问题,对于这个问题就是公共子序列和(LCS)的变形题目,所以就相当于是对线性dp的补充,在这再详细的解释一下动态方 ...
- 动态规划 —— 线性 DP
[概述] 线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题.区间DP等有固定的模板. 线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式 ...
- 0x51.动态规划 - 线性DP(习题详解 × 10)
目录 0x51.动态规划 - 线性DP 0x51.1 LIS问题 Problem A. 登山 (最长下降子序列) Problem B. 友好城市(思维) Problem C. 最大上升子序列和 0x5 ...
- POJ3666 线性dp+维度优化
POJ3666 线性dp+维度优化 题面 POJ3666 题面 思路 首先是重要的归纳法寻求思路的思想,在满足S最小化的前提下,假设存在一种构造前k位序列B的方案,即已经构造B1B2⋯BkB_1B_2 ...
- 动态规划之线性DP题集
动态规划之线性DP 文章目录 动态规划之线性DP (一)LIS问题 最长上升子序列 (朴素动规) (二分+贪心+动规) 最大子序和 (动规) (贪心) 最长连续递增序列 (动规) (双指针) 俄罗斯套 ...
- UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)
整理的算法模板合集: ACM模板 依旧是线性DP 我们使用闫氏DP分析法 总体DP转移的时间复杂度为O(n2)O(n^2)O(n2). 但是这里牵扯到判断 i\tt ii 到 j\tt jj 是否为回 ...
- 洛谷P2401 不等数列(线性DP)
本题使用的是线性DP.就是DP数组难以思考,这里我直接给出 dp[i][j]:表示 1 ~ i 这 i 个数 , 其中j 个 " < " 有几种方法 假设我们已经把 n - ...
最新文章
- r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...
- C++中数字和字符串类型的转换
- LeetCode--11_974_Subarray_Sums_Divisible_by_K
- Android 接入baceBook
- 红外测距模块工作原理_共享单车里的通讯模块,工作原理是啥呢?
- hdu 4143 A Simple Problem 数论
- python编程注释_自学python编程笔记之:python的注释
- 34tomcat设置默认页面
- Golang面试题解析(五)
- 有时候还逃课的视频转换
- java组合与继承始示例_排列组合:用公式示例解释的差异
- 无重复字符串的最长子串
- 4j设置文件保存天数_文件备份很麻烦,各种工作不知道怎么选择,容器时代的备份方案!...
- python编程入门到实践笔记-python基础(《Python编程:从入门到实践》读书笔记)...
- vim下如何去掉windows编辑的文件中的^M
- JSP变量和方法声明
- 【hyddd驱动开发学习】DDK与WDK
- oracle中控制字段不为null
- 送你一份万字机器学习资料
- 中国计算机学会 (China Computer Federation,CCF) 推荐中文科技期刊目录 - 2019
热门文章
- linux 修改默认脚本,linux环境初始脚本
- c++的STL中的map(哈希表)与unordered_map
- leetcode54:螺旋矩阵
- 计算机网络:如何传输一条数据(详解)
- C++ 学习之旅(5)——设置Setup文件目录
- css3边框交替动画_用css3实现惊艳面试官的背景即背景动画(高级附源码)
- rust火箭基地主楼开启方法_Rust 为什么能成为 Stack Overflow 最受欢迎的语言?
- [MyBatisPlus]乐观锁和悲观锁
- [PAT乙级]1018 锤子剪刀布
- 2018 蓝桥杯省赛 A 组模拟赛(一)数列求值+推导