Description

Solution

这题就是在原来最长子序列的基础上加上了上升这个条件,
设DP:fi,jf_{i,j}表示a做到了第i个,不一定选i,b做到了j,一定选j,的答案,
转移这样就显然了

复杂度:O(n2)O(n^2)

Code

#include <cstdio>
#include <algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
const int N=6500;
int read(int &n)
{char ch=' ';int q=0,w=1;for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());if(ch=='-')w=-1,ch=getchar();for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n,ans;
int a[N],b[N];
int f[N],f1[N],fi[N];
int B[2*N][3],A[N],B0;
void link(int q,int w,int e)
{B[++B0][0]=A[q],A[q]=B0,B[B0][1]=w,B[B0][2]=e;
}
void OP(int q,int w)
{if(!q)return;if(fi[q]>w){int i;for(i=A[q];B[i][2]>=w;i=B[i][0]);f1[q]=B[i][1],fi[q]=B[i][2];}OP(f1[q],fi[q]);printf("%d ",b[q]);
}
int main()
{freopen("okarin.in","r",stdin);freopen("okarin.out","w",stdout);int q,w,e;read(n);fo(i,1,n)read(a[i]);read(m);fo(i,1,m)read(b[i]);fo(i,1,n){q=0;fo(j,1,m)if(a[i]>b[j])q=f[q]<f[j]?j:q;else if(a[i]==b[j]&&f[j]<f[q]+1){link(j,f1[j],fi[j]);f[j]=f[q]+1;f1[j]=q;fi[j]=i;}}ans=0;fo(i,1,m)if(f[ans]<f[i])ans=i;printf("%d\n",f[ans]);OP(ans,1e9);printf("\n");return 0;
}

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

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

    Description Input Output Sample Input 5 1 4 2 5 1 4 1 1 2 4 Sample Output 2 1 4 Data Constraint Solu ...

  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. 【JZOJ 5426】【NOIP2017提高A组集训10.25】摘Galo

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

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

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

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

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

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

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

最新文章

  1. python好找工作吗2017-你为什么不来了解一下Python?
  2. 大数据之Kafka集群安装及简单使用
  3. 分页查询千万级数据慢
  4. web安全day44:进阶,使用Nmap+Wireshark理解端口扫描
  5. 机器学习的偏差-方差分解
  6. 统计源期刊目录_护理核心期刊投稿最强攻略:期刊目录、投稿周期、发文倾向全在这里了!...
  7. putty以及psftp的基本操作,使用方法等
  8. 晋南讲堂之持久层框架ORM简介
  9. java换行输出的几种方式
  10. 阔别263天游戏版号回归:巨头无缘,投资机会从何凸显?
  11. 落日海鸥(Seagulls)
  12. Flex 学习笔记之一:Flex 简介
  13. css多种方法画四分之一圆曲线
  14. Abp vnext Web应用程序开发教程 2 —— 图书列表页面
  15. 电脑照片太大怎么压缩?如何调整照片kb?
  16. 孤立森林算法 python_孤立森林(isolation forest)
  17. 享受知识饕餮盛宴,尽在2016年课程安排
  18. 2021-07-10 arduino 用于矩阵键盘的 开源库函数 keypad.h使用说明
  19. mysql防火墙设置_mysql8 参考手册--MySQL企业防火墙配置参考
  20. RKC Z-TIO 模块基于MODBUS使用PROTEM软件设定参数

热门文章

  1. 扒一扒那些叫欧拉的定理们(二)——简单多面体欧拉定理的证明
  2. win7 计算机不显示u盘启动不了,Win7系统下bios中找不到U盘启动项如何解决
  3. 表格对角线两边打字_word单元格斜线 word表格中斜线表头制作过程及表头斜线两边打字怎么操作...
  4. 数据库文档自动生成工具
  5. 加拿大的java工程师工资_在加拿大工作,收入有多少呢?
  6. FOI对象中显示labels --Oracle Map
  7. 【听课笔记】复旦大学遗传学_08遗传分析方法
  8. ubuntu查看磁盘分区使用情况命令df
  9. Mysql计算同比环比(超详细)
  10. STM32F4最小系统硬件设计