input

n,p,q 2<=n<=250 1<=p,q<=n*n

1 a1 a2 a3 ... ap  1<ai<n*n,ai!=aj

1 b1 b2 b3 ... bq  1<bi<n*n,bi!=bj

output

最长公共子序列个数

做法:将b数组中的数变为a数组中数的下标,a中不存在的数可以去掉,然后求LIS即可

#include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <ctime>
#include <cmath>
#include <cctype>
#define MAX 63000
#define LL long long
using namespace std;
int a[MAX],b,len[MAX],idx[MAX],bi[MAX],T,p,q,m,n,cas=;
int main()
{
freopen("/home/user/桌面/in","r",stdin);
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&m,&p,&q);
scanf("%*d");
for(int i=;i<=p;i++)
{
scanf("%d",&a[i]);
idx[a[i]]=i;//当a[i]范围很大时可用hash代替
}
n=;
scanf("%*d");
for(int i=;i<q;i++)
{
scanf("%d",&b);
if(a[idx[b]]) bi[++n]=idx[b];
}
len[]=bi[];
int l=;
for(int i=;i<=n;i++)//求LIS
{
if(bi[i]>len[l]) len[++l]=bi[i];
else *lower_bound(len+,len+l+,bi[i])=bi[i];
}
printf("Case %d: %d\n",cas++,l+);
}
//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
return ;
}

UVA - 10635 最长公共子序列的更多相关文章

  1. UVA 10405最长公共子序列

    裸最长公共子序列,直接贴代码 #include<cstdio> #include<iostream> #include<algorithm> #include< ...

  2. UVA 1045 最长公共子序列

    题目描述:求最长公共子序列 若给定序列X={x1,x2,...,xm},另一序列Z={z1,z2,...,zk},是X的子序列是指存在一个严格递增的下标序列{i1,i2,...,ik}使得对所以j=1 ...

  3. UVa 111 - History Grading (by 最长公共子序列 )

     History Grading  Background Many problems in Computer Science involve maximizing some measure accor ...

  4. uva 111 History Grading(最长公共子序列)

    题目连接:111 - History Grading 题目大意:给出一个n 代表序列中元素的个数, 然后是一个答案, 接下来是若干个同学的答案(直到文件结束为止), 求出两个序列的最长公共子序列, 注 ...

  5. uva111动态规划之最长公共子序列

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=74662#problem/C     A B C D E C - Largest Rect ...

  6. 简单Dp----最长公共子序列,DAG最长路,简单区间DP等

    /* uva 111 * 题意: * 顺序有变化的最长公共子序列: * 模板: */ #include<iostream> #include<cstdio> #include& ...

  7. 用python实现最长公共子序列算法(找到所有最长公共子串)

    软件安全的一个小实验,正好复习一下LCS的写法. 实现LCS的算法和算法导论上的方式基本一致,都是先建好两个表,一个存储在(i,j)处当前最长公共子序列长度,另一个存储在(i,j)处的回溯方向. 相对 ...

  8. 动态规划之最长公共子序列(LCS)

    转自:http://segmentfault.com/blog/exploring/ LCS 问题描述 定义: 一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 ...

  9. [Data Structure] LCSs——最长公共子序列和最长公共子串

    1. 什么是 LCSs? 什么是 LCSs? 好多博友看到这几个字母可能比较困惑,因为这是我自己对两个常见问题的统称,它们分别为最长公共子序列问题(Longest-Common-Subsequence ...

随机推荐

  1. 一行一行分析JQ源码学习笔记-05

    创建字符串<li></li>$.function(){var str =} merge;用法 对外组数何必 对内部 还可以json合并var arr = ["a&qu ...

  2. jquery 下拉框 收藏

    jquery 下拉框  Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code. ...

  3. nginx在linux下的目录结构

    配置文件目录 putty 下  whereis nginx /etc/nginx

  4. 理解 Storm 拓扑的并行度(parallelism)概念

    组成:一个运行中的拓扑是由什么构成的:工作进程(worker processes),执行器(executors)和任务(tasks)! 在一个 Storm 集群中,Storm 主要通过以下三个部件来运 ...

  5. vultr使用snapshots系统镜像备份安装vps

    vultr vps提供免费的snapshots功能,把你的vps做成镜像备份,在必要的时候可以恢复.如果你要配置多台机器,使用Snapshots非常方便好用. vultr添加snapshots很简单, ...

  6. Gentoo解决Udev升级的网卡重命名问题

    问题描述: 配置网络时,很多新手运行ifconfig命令查看网卡时,会发现我们熟悉的eth0网卡没有了,或是发现一些不规则命名的东东,不错,那就是你的网卡. 因为内核升级(忘记具体哪个版本了)从ude ...

  7. wuzhi 五指 伪静态

    rewrite ^(.*)list\/([0-9]+)-([0-9]+)\.html$ $1index.php?v=listing&cid=$2&page=$3 last; rewri ...

  8. mysql5.7.16安装

    系统:centOS6.5 mysql: 5.7.16 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-linux-glib ...

  9. PHP中require和include的区别

    include()与require()的功能相同 include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区 ...

  10. pgadmin3 新建服务器出现错误 Peer authentication failed for user "postgres" 的解决办法

    转自:http://blog.csdn.net/tingyuanss/article/details/43763899 用pgadmin3 新建服务器出现错误 Peer authentication ...