首页 > 其他 > 详细

P1439 【模板】最长公共子序列

时间:2019-11-01 18:34:50      阅读:133      评论:0      收藏:0      [点我收藏+]

P1439 【模板】最长公共子序列

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 1e5+5;
 4 int id[maxn];
 5 vector<int> ve;
 6 int main() {
 7     int n; scanf("%d",&n);
 8     for (int i = 1; i <= n; ++i) {
 9         int x; scanf("%d",&x);
10         id[x] = i;
11     }
12     for (int i = 1; i <= n; ++i) {
13         int x; scanf("%d",&x);
14         x = id[x];
15         if (i == 1) ve.push_back(x);
16         else {
17             if (x > ve[ve.size()-1]) ve.push_back(x);
18             else {
19                 ve[lower_bound(ve.begin(),ve.end(),x)-ve.begin()] = x;
20             }
21         }
22     }
23     printf("%d",ve.size());
24     return 0;
25 }

 

P1439 【模板】最长公共子序列

原文:https://www.cnblogs.com/wstong/p/11778460.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!