Description

Data Constraint

Solution

这和以前的一道题很像,叫千帆渡的,刚好是一年前的题,可我还是没想到,就差一点……这说明我的学习是无效学习,以后要加强对过去题目的复习。
再次做好像有了更深的理解。我们设f[i][j]表示与当前A做到i,B做到j,强制i配对的最长公共递增序列。我们顺序枚举i,j,,若当前a[i]!=b[j],那么显然f[i][j]=f[i][j-1].现在问题是a[i]=b[j],因为a[i]=b[j],若存在一个a[k],满足a[k]

Code

#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=5e3+5;
int f[maxn][maxn],g[maxn],f1[maxn][maxn],a[maxn],b[maxn],d[maxn];
int n,m,i,t,j,k,l,x,y,z,p,q;
int main(){freopen("okarin.in","r",stdin);freopen("okarin.out","w",stdout);scanf("%d",&n);for (i=1;i<=n;i++) scanf("%d",&a[i]);scanf("%d",&m);for (i=1;i<=m;i++)scanf("%d",&b[i]);memset(f,128,sizeof(f));memset(f[0],0,sizeof(f[0]));for (i=1;i<=n;i++)for (j=1;j<=m;j++){if (a[i]!=b[j]) f[i][j]=f[i][j-1],f1[i][j]=i;else f[i][j]=f[g[j]][j-1]+1,f1[i][j]=g[j];if (a[i]<b[j+1] && f[g[j+1]][j]<f[i][j]) g[j+1]=i;if (f[p][q]<f[i][j]) p=i,q=j;}printf("%d\n",f[p][q]);for (i=q;i>=1;i--)if (f1[p][i]!=p) d[++d[0]]=a[p],p=f1[p][i];for (i=d[0];i>=1;i--)printf("%d ",d[i]);
}

【JZOJ5424】【NOIP2017提高A组集训10.25】凤凰院凶真相关推荐

  1. JZOJ5424. 【NOIP2017提高A组集训10.25】凤凰院凶真

    题解 题目的意思是求两个序列的最长公共上升子序列. 就此可以联想到求两个序列的最长公共子序列: 设fi,jf_{i,j}表示a序列处理到i,b序列处理j的最长公共子序列, 转移很简单. 现在要满足公共 ...

  2. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  3. JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜

    Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...

  4. JZOJ 5425. 【NOIP2017提高A组集训10.25】数论

    Description 聪明的0v0正在学习莫比乌斯反演. 她看到了这样的一道题:有n*m个人站成了一个n*m的方阵-- 剩下的题面,聪明的0v0不记得了.但是,她通过自己高超的数论技巧,给出了一个转 ...

  5. JZOJ 5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜

    Description Input 第一行两个整数n;m 表示电子个数和询问个数. 接下来n 行, 每行两个整数x; y 表示vi. 接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两 ...

  6. 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真

    这是一道DP题,然后做的时候发现,DP式子死活推不出来. 题目大意(本人实在是不想复制了呵-- 给出A,B序列 找出他们的最长公共严格递增子序列 明确,这是一道DP 所以设状态fi,jf_{i,j}f ...

  7. 【NOIP2017提高A组集训10.25】摘Galo (树形dp)

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  8. 【JZOJ 5426】【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  9. JZOJ5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  10. JZOJ5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜

    题解 viv_i是一个向量, 那么需要求的就是叉积的平方和. 假设v1=(x1,y1),v2=(x2,y2)v_1=(x_1,y_1),v_2=(x_2,y_2) 那么v1∗v2=x1∗y2−x2∗y ...

最新文章

  1. [转]微服务(Microservice)那点事
  2. Android移动端音视频的快速开发教程(十)
  3. JQuery笔记(一)
  4. Python数据分析入门 -- Anaconda
  5. Tensorflow2.6更新cuda11.2
  6. 幂等问题 vs 如何判断是否是4的幂
  7. hdu4609 3idiots 三角形计数 FFT
  8. appim自动化--点击指定控件的指定位置
  9. 修改mysql端口以及出现的问题
  10. 基于springboot+vue的医院预约系统(前后端分离)
  11. python 正则表达 10分钟入门
  12. 什么是运维?运维主要做哪些工作?
  13. java里如何继承一个类_java如何继承类
  14. youtube python 中文_GitHub - dousirui001/youtube-streaming-translator-python: 实时翻译油管直播,开发中...
  15. 2019年世界500强完整榜单,出炉!
  16. 禁止html5手机端双击页面放大的问题
  17. 微信模板消息发送成功但显示空白的问题
  18. offsetof 详解
  19. 美团CTO罗道锋离职 王慧文将兼任基础研发平台负责人
  20. List stream 过滤

热门文章

  1. 如何查找并修改CAD图纸中的标注文字?
  2. 伴随矩阵例题_§6伴随矩阵及练习题.ppt
  3. C#两种方法输出1~100间的质数(素数)
  4. 你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(下)
  5. vue实现lodop打印功能
  6. python编程星期几_python如何获取星期几
  7. Eclipse启动出错误:An error has occurred.See the log file。。。。
  8. Noip 模拟练习9
  9. 迁移学习Transfer Learning
  10. lwj_C#_string类方法 可变字符串