poj 1692 Crossed Matchings
来源:互联网 发布:越南女孩 知乎 编辑:程序博客网 时间:2024/04/26 21:14
题目链接:http://poj.org/problem?id=1692
题目思路:转移方程:dp[i][j]=max(dp[i-1][j],dp[i][j-1],dp[up[i][j]-1][down[i][j]-1]+2) (其中up[i][j]为第一行中前i-1个数与第2行的第j行数相同的编号最大的数,down 类似)。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<string>#include<queue>#include<algorithm>#include<vector>#include<stack>#include<list>#include<iostream>#include<map>using namespace std;#define inf 0x3f3f3f3f#define Max 110int max(int a,int b){return a>b?a:b;}int min(int a,int b){return a<b?a:b;}int up[Max][Max],down[Max][Max],dp[Max][Max];int a[Max],b[Max];int n,m,t;int main(){ scanf("%d",&t); int i,j; while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=m;i++) scanf("%d",&b[i]); memset(up,-1,sizeof(up)); memset(down,-1,sizeof(down)); for(i=2;i<=n;i++) for(j=2;j<=m;j++) { if(a[i-1]==b[j]) up[i][j]=i-1; else up[i][j]=up[i-1][j]; if(a[i]==b[j-1]) down[i][j]=j-1; else down[i][j]=down[i][j-1]; // printf("i %d j %d up %d\n",i,j,up[i][j]); } dp[0][0]=0; dp[0][1]=0; dp[1][0]=0; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { dp[i][j]=max(dp[i-1][j],dp[i][j-1]); if(a[i]!=b[j]&&up[i][j]!=-1&&down[i][j]!=-1) { dp[i][j]=max(dp[i][j],dp[up[i][j]-1][down[i][j]-1]+2); } } printf("%d\n",dp[n][m]); }}
- POJ 1692 Crossed Matchings
- poj 1692 Crossed Matchings
- POJ 1692 Crossed Matchings
- POJ 1692 Crossed Matchings
- POJ 1692 Crossed Matchings(dp).
- POJ 1692 Crossed Matchings(DP)
- POJ 1692 Crossed Matchings(DP)
- POJ 1692 Crossed Matchings(DP)
- poj 1692 Crossed Matchings DP
- poj 1692 Crossed Matchings(DP)
- poj 1692 Crossed Matchings 动态规划
- POJ 1692 Crossed Matchings (DP) #by Plato
- poj 1692 Crossed Matchings 动态规划
- POJ 1692 Crossed Matchings(DP)
- 【poj 1692】Crossed Matchings (最长公共子序列变形)
- PKU1692 Crossed Matchings
- pku1692 Crossed Matchings
- ZOJ1425 POJ1692 Crossed Matchings
- 关于Visual Studio2010字符集的问题
- 解决ubuntu11.10打开txt乱码问题
- 错题集
- Com 基本概念
- Android进阶2之谷歌天气预报
- poj 1692 Crossed Matchings
- 高质量c/c++编程-附录
- UNIX网络编程学习(17)--检查套接字选项是否受支持并获取默认值
- SSH思想之我见
- poj 1020 Anniversary Cake DFS
- 函数调用约定
- Exception:hibernate HQL不充分支持 case when语句?
- 初步了解Servlet
- 程序题