设为首页 加入收藏

TOP

hdu 1423 最长递增公共子序列
2015-11-21 01:02:59 来源: 作者: 【 】 浏览:1
Tags:hdu 1423 最长 递增 公共 序列
#include
  
   
#include
   
     #include
     
     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
     ; }
    
   
  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj 动态规划DP - 2018 Best Cow .. 下一篇UVA - 1612 Guess 贪心

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: