4816 江哥的dp题b

 时间限制: 1 s
 空间限制: 256000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

给出两个1~N的随机排列A,B。若Ai=Bj,则你可以在Ai,Bj之间连一条线。要求每条线至多与一条线相交。下图分别说明了一种合法和不合法的方案。

输入描述 Input Description

第一行一个正整数N。

接下来一行N个正整数,描述A。

接下来一行N个正整数,描述B。

输出描述 Output Description

输出一行一个整数,描述答案(最大合法连线数量)。

样例输入 Sample Input

7

1 5 7 3 2 6 4

7 3 4 1 6 5 2

样例输出 Sample Output

4

数据范围及提示 Data Size & Hint

测试点编号              数据范围
     1,2,3                         N≤20 
4,5,6,7,8,9,10              N≤1000

分类标签 Tags 点此展开

AC代码:
/*
设f[i][j]表示取序列A前i个元素与序列B前j个元素的最多连线数量,则有如下状态转移方程:
(1)A[i]=B[j]
f[i][j]=f[i-1][j-1]+1
(2)A[i]≠B[j]
f[i][j]=max(f[X][Y]+2,f[i-1][j],f[i][j-1])(X表示B[j]在序列A中的位置,Y与此同理)。
此类型的DP似乎可以用前n项来二维实现。
*/
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1e3+;
int n,a[N],b[N],pa[N],pb[N],f[N][N];
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]),pa[a[i]]=i;//位置数组
for(int i=;i<=n;i++) scanf("%d",&b[i]),pb[b[i]]=i;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(a[i]==b[j]) f[i][j]=f[i-][j-]+;
else{
f[i][j]=max(f[i-][j],f[i][j-]);
if(pa[b[j]]<i&&pb[a[i]]<j) f[i][j]=max(f[i][j],f[pa[b[j]]][pb[a[i]]]+);
}
}
}
printf("%d",f[n][n]);
return ;
}

4816 江哥的dp题b的更多相关文章

  1. 4817 江哥的dp题d

    4817 江哥的dp题d  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 已知1-N的排列P的LIS(最长上 ...

  2. 4809 江哥的dp题c

    4809 江哥的dp题c  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 有两个数x,y,一开始x=1,y= ...

  3. 4815 江哥的dp题a

    4815 江哥的dp题a  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 给出一个长度为N的序列A(A1,A ...

  4. codevs4817 江哥的dp题d

    4817 江哥的dp题d  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold [题目描述] Description 已知1-N的排列P的LIS(最长上升子序列)不超 ...

  5. 江哥的dp题a(codevs 4815)

    题目描述 Description 给出一个长度为N的序列A(A1,A2,A3,...,AN).现选择K个互不相同的元素,要求: 1.两两元素互不相邻 2.元素值之和最大 输入描述 Input Desc ...

  6. Codeforces Round #369 (Div. 2)---C - Coloring Trees (很妙的DP题)

    题目链接 http://codeforces.com/contest/711/problem/C Description ZS the Coder and Chris the Baboon has a ...

  7. HDU 2577 How to Type(dp题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2577 解题报告:有一个长度在100以内的字符串,并且这个字符串只有大写和小写字母组成,现在要把这些字符 ...

  8. 古韵之乞巧 题解 dp题

    [noip模拟赛1]古韵之乞巧   描述 闺女求天女,更阑意未阑. 玉庭开粉席,罗袖捧金盘. 向月穿针易,临风整线难. 不知谁得巧,明旦试相看. ——祖咏<七夕> 女子乞巧,是七夕的重头戏 ...

  9. cf1061c 普通dp题

    题解见https://blog.csdn.net/godleaf/article/details/84402128 这一类dp题是可以压缩掉一维空间的,本题枚举a1到an,枚举到ai时枚举ai的每个约 ...

随机推荐

  1. 优化MySchool数据库(事务、视图、索引)

    事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...

  2. 关于alpha透明度

    使用场景 一个半透明的框上面   放了一些label     改变半透明view的alpha    结果 label的  alpha 也跟着改变了. 其实不用那么麻烦   给你们UI  要一个色值也可 ...

  3. iOS KVC详细讲解

    iOS KVC详细讲解 什么是KVC? KVC即NSKeyValueCoding,就是键-值编码的意思.一个非正式的 Protocol,是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取 ...

  4. Java中定义Map常量,List常量

    一般的方式的使用静态代码块.比如: public final static Map map = new HashMap(); static { map.put("key1", &q ...

  5. php中的curl

    /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [ ...

  6. [修复Win8.1 BUG] 解决Win8.1英文字体发虚不渲染问题

    Win8.1更新了宋体字体,中文字体显示漂亮了,但英文字体发虚不渲染,尤其是小号的英文和数字字体,看下图. 1.下载Win8的宋体2.打开字体文件点击安装3.导入注册表文件4.重启Win8.1 下载链 ...

  7. WPF学习之路(七)应用程序和窗口

    手动创建应用程序 1.创建Empty Project 2.添加引用 3.添加 ManualApp.cs 并添加下面的代码 [STAThread] public static void Main() { ...

  8. js中同步与异步请求方式

    异步请求方式: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST ...

  9. chrome浏览器首页被hao123劫持解决办法

    在chrome浏览器设置里面将新标签页地址改为www.baidu.com, 不过一般来说这个办法完全没用,因为我们面对的是史无前例的大流氓. 查看桌面chrome的快捷方式是否被篡改.右键快捷方式,点 ...

  10. activiti入门

    一.Activiti简介 Activiti 是一个针对商务人士. 开发人员和系统管理员的轻量级的工作流和业务流程管理 (BPM) 平台.它的核心是Java的高速和可靠的 BPMN 2 流程引擎.它是开 ...