hdu 1423 最长递增公共子序列
2015-05-05 19:20
260 查看
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; int max(int a,int b) { return a>b?a:b; } int main() { int T,i,j,n,m,num1[510],num2[510]; int dp[510][510]; scanf("%d",&T); while(T--) { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&num1[i]); scanf("%d",&m); for(i=1;i<=m;i++) scanf("%d",&num2[i]); int Max; for(i=1;i<=n;i++) { Max=0; for(j=1;j<=m;j++) { if(num2[j]<num1[i]&&Max<dp[i-1][j]) { Max=dp[i-1][j]; } dp[i][j]=dp[i-1][j]; if(num1[i]==num2[j]) { dp[i][j]=Max+1; } } } Max=0; for(i=1;i<=m;i++) if(dp[n][i]>Max) Max=dp[n][i]; printf("%d\n",Max); if(T)printf("\n"); } return 0; }
相关文章推荐
- 最长递增公共子序列dp(hdu 1423 hdu 4512)
- HDU 1423 Greatest Common Increasing Subsequence 最长公共递增序列
- [HDU 1423] Greatest 最长上升公共子序列
- HDU 1423 求求求求求求最长上升公共子序列
- LCIS最长上升公共子序列(HDU 1423)
- hdu 4512(最长公共递增子序列加强版)
- HDU 1423(Greatest Common Increasing Subsequence)公共最长不降子序列
- 最长公共子序列 最长递增子序列(和) 最长递增公共子序列 最长(连续)子序列乘积(HDU)--dp
- HDU 1423 (最长上升公共子序列)
- HDU 4512 吉哥系列故事——完美队形I LCIS 最长递增公共子序列
- hdu 1423(最长公共递增子序列)
- hdu 1423+hdu 4512 最长公共递增子序列
- hdu 1423(最长公共递增子序列)
- hdu 1423 最长上升公共子序列 LCIS 模板题
- hdu 1423 Greatest Common Increasing Subsequence (最长上升公共子序列)
- hdu 1423 最长公共递增子序列
- HDU 1423 Greatest Common Increasing Subsequence(单调递增公共子序列)
- hdu 1423 Greatest Common Increasing Subsequence(最长上升公共子序列)
- Greatest Common Increasing Subsequence hdu1423 最长公共递增子序列
- hdu 1423 Greatest Common Increasing Subsequence_LICS(最长公共递增子序列)