码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1631 Bridging signals

时间:2015-08-29 11:03:45      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

POJ 1631 Bridging signals

技术分享

如图,原本左右端口应当按顺序连接。现在只有切除部分线路,使得任何线路都不相交。希望你写一个程序计算最后剩下多少线路?

话句话说就是求最长上升序列的长度

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 const int INF=100000;
 6 int stick[40000];
 7 int dp[40000];
 8 int main()
 9 {
10     int T;
11     cin>>T;
12     while(T--)
13     {
14         int n;
15         cin >> n;
16         for (int i = 0; i < n; ++i)
17         {
18             cin >>stick[i];
19         }
20         fill(dp,dp+n,INF); 
21         for (int j = 0; j < n; ++j)
22         {
23               *lower_bound(dp,dp+n,stick[j])=stick[j]; 
24         }
25         cout<<lower_bound(dp,dp+n,INF)-dp<<endl;
26     }
27     return 0;
28 }

 

POJ 1631 Bridging signals

标签:

原文地址:http://www.cnblogs.com/xlsryj/p/4768420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!