【JZOJ5424】【NOIP2017提高A组集训10.25】凤凰院凶真
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】凤凰院凶真相关推荐
- JZOJ5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
题解 题目的意思是求两个序列的最长公共上升子序列. 就此可以联想到求两个序列的最长公共子序列: 设fi,jf_{i,j}表示a序列处理到i,b序列处理j的最长公共子序列, 转移很简单. 现在要满足公共 ...
- JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo
Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...
- JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜
Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...
- JZOJ 5425. 【NOIP2017提高A组集训10.25】数论
Description 聪明的0v0正在学习莫比乌斯反演. 她看到了这样的一道题:有n*m个人站成了一个n*m的方阵-- 剩下的题面,聪明的0v0不记得了.但是,她通过自己高超的数论技巧,给出了一个转 ...
- JZOJ 5422. 【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜
Description Input 第一行两个整数n;m 表示电子个数和询问个数. 接下来n 行, 每行两个整数x; y 表示vi. 接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两 ...
- 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
这是一道DP题,然后做的时候发现,DP式子死活推不出来. 题目大意(本人实在是不想复制了呵-- 给出A,B序列 找出他们的最长公共严格递增子序列 明确,这是一道DP 所以设状态fi,jf_{i,j}f ...
- 【NOIP2017提高A组集训10.25】摘Galo (树形dp)
Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...
- 【JZOJ 5426】【NOIP2017提高A组集训10.25】摘Galo
Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...
- JZOJ5426. 【NOIP2017提高A组集训10.25】摘Galo
Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...
- 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 ...
最新文章
- [转]微服务(Microservice)那点事
- Android移动端音视频的快速开发教程(十)
- JQuery笔记(一)
- Python数据分析入门 -- Anaconda
- Tensorflow2.6更新cuda11.2
- 幂等问题 vs 如何判断是否是4的幂
- hdu4609 3idiots 三角形计数 FFT
- appim自动化--点击指定控件的指定位置
- 修改mysql端口以及出现的问题
- 基于springboot+vue的医院预约系统(前后端分离)
- python 正则表达 10分钟入门
- 什么是运维?运维主要做哪些工作?
- java里如何继承一个类_java如何继承类
- youtube python 中文_GitHub - dousirui001/youtube-streaming-translator-python: 实时翻译油管直播,开发中...
- 2019年世界500强完整榜单,出炉!
- 禁止html5手机端双击页面放大的问题
- 微信模板消息发送成功但显示空白的问题
- offsetof 详解
- 美团CTO罗道锋离职 王慧文将兼任基础研发平台负责人
- List stream 过滤
热门文章
- 如何查找并修改CAD图纸中的标注文字?
- 伴随矩阵例题_§6伴随矩阵及练习题.ppt
- C#两种方法输出1~100间的质数(素数)
- 你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(下)
- vue实现lodop打印功能
- python编程星期几_python如何获取星期几
- Eclipse启动出错误:An error has occurred.See the log file。。。。
- Noip 模拟练习9
- 迁移学习Transfer Learning
- lwj_C#_string类方法 可变字符串