LCIS模板

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int n;
long long a[3005],b[3005],f[3005];
int main() {
scanf("%d",&n);
for(int i=1; i<=n; i++) scanf("%lld",&a[i]);
for(int i=1; i<=n; i++) scanf("%lld",&b[i]);
b[0]=-0x3f3f3f3f3f3f3f3f;
for(int i=1; i<=n; i++) {
long long val=0;
for(int j=1;j<=n;j++) {
if(a[i]>b[j]&&f[j]>val) val=f[j];
else if(a[i]==b[j]) f[j]=val+1;
}
}
long long ans=0;
for(int i=1;i<=n;i++) ans=max(ans,f[i]);
cout<<ans;
}

补一个带输出路径的

#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,a[505],b[505],f[505],ans,rd[505][505],Ti,Tj,path[505];
int main() {
scanf("%d",&n);
for(int i=1; i<=n; i++) scanf("%d",&a[i]);
scanf("%d",&m);
for(int i=1; i<=m; i++) scanf("%d",&b[i]);
for(int i=1; i<=n; i++) {
int maxf=0,pos;
for(int j=1; j<=m; j++) {
if(a[i]>b[j] && f[j] >maxf)maxf=f[j],pos=j;
if(a[i]==b[j]) f[j]=maxf+1,rd[i][j]=pos;
if(ans<f[j]) {
Ti=i,Tj=j,ans=f[j];
}
}
} printf("%d\n",ans);
int len=ans;
if(len) path[len--]=Tj;
while(len&&Ti&&Tj) {
if(rd[Ti][Tj]) {
path[len--]=rd[Ti][Tj];
Tj=rd[Ti][Tj];
}
Ti--;
}
for(int i=1;i<=ans;i++) {
printf("%d ",b[path[i]]);
}
}

[tyvj-1071]LCIS 动态规划的更多相关文章

  1. [tyvj 1071] LCIS

    题目描述 熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目.小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了. 小沐沐说,对于两个串A,B,如果它们 ...

  2. [ACM_动态规划] UVA 12511 Virus [最长公共递增子序列 LCIS 动态规划]

      Virus  We have a log file, which is a sequence of recorded events. Naturally, the timestamps are s ...

  3. CF10D LCIS (动态规划)

    题目链接 Solution 动态规划. 令 \(f_{i,j}\) 表示 \(a\) 数组前 \(i\) 个和 \(b\) 数组前 \(j\) 所得的最长的 LCIS . 转移很好想: \(a_i!= ...

  4. Codeforces Beta Round #10 D. LCIS 动态规划

    D. LCIS 题目连接: http://www.codeforces.com/contest/10/problem/D Description This problem differs from o ...

  5. [JOYOI] 1071 LCIS

    拖了好久的LCIS f[i][j]表示a串前i个,b串以b[j]结尾的LCIS长度. 转移时考虑a[i]和b[j]是否相等,如果不等: 那么既然是以j结尾,说明a串前i-1位有一个字符和b匹配了,所以 ...

  6. CJOJ 1071 【Uva】硬币问题(动态规划)

    CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为 ...

  7. Tyvj P3119 核电站问题 动态规划

    题目:http://tyvj.cn/p/3119 P3119 核电站问题 时间: 1000ms / 空间: 65536KiB / Java类名: Main 描述 一个核电站有N个放核物质的坑,坑排列在 ...

  8. 动态规划——最长公共上升子序列LCIS

    问题 给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1 ...

  9. 动态规划:LCIS

    先给出状态转移方程: 定义状态 F[i][j]表示以a串的前i个整数与b串的前j个整数且以b[j]为结尾构成的LCIS的长度 状态转移方程: ①F[i][j] = F[i-][j] (a[i] != ...

随机推荐

  1. Linux Terminal fortune

    Linux下,我们能够使用apt-get安装fortune,这是一个比較有趣的功能 在输入fortune之后,Terminal会输出一句名言.诗句,或一些有趣的话: 默认情况下.fortune仅仅会显 ...

  2. Android訪问网络,使用HttpURLConnection还是HttpClient?

    原文地址:http://android-developers.blogspot.com/2011/09/androids-http-clients.html 大多数的Android应用程序都会使用HT ...

  3. HDU 1788 Chinese remainder theorem again 中国剩余定理

    题意: 给定n,AA 以下n个数m1,m2···mn 则有n条方程 res % m1 = m1-AA res % m2 = m2-AA 问res的最小值 直接上剩余定理,嘿嘿 #include< ...

  4. Cookies操作类

    实现代码: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&q ...

  5. 最详细的CentOS 6与7对比(一):常见设置对比

    本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...

  6. kubernetes系列(小知识):kubectl命令自动补全

    kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...

  7. 读入图片显示scipy.misc module has no attribute imread?

    >>> import scipy >>> scipy.misc <module 'scipy.misc' from 'C:\Python27\lib\site ...

  8. Scrapy日志等级以及请求传参

    日志等级 请求传参 提高scrapy的爬取效率 日志等级 - 日志信息:   使用命令:scrapy crawl 爬虫文件 运行程序时,在终端输出的就是日志信息: - 日志信息的种类: - ERROR ...

  9. Web-数据库-mysql篇

    DDL创造 create  修改 alter  删除 dorp DML插入 insert  删除 delete 更新 updateDQLselect from where MySQL与JDBC 一.用 ...

  10. [OpenWrt]安装mjpg-streamer

    安装mjpg-streamer 远程监控基本上是wifi小车的一个必备功能了.摄像头我用的是奥尼百脑通 D881,这个要100左右. 确认安装了以下软件: kmod-usb2 kmod-video-u ...