友好城市(LIS+结构体排序)

友好城市

友好城市(LIS+结构体排序)

 

 解题思路:不交叉,则将北岸的坐标从小到大排,找南岸的最长上升子序列

AC_Code

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 #include <algorithm>
 5 #include <bits/stdc++.h>
 6 using namespace std;
 7 typedef long long ll;
 8 const int maxn = 5010;
 9 
10 int dp[maxn];
11 struct node{
12     int north;
13     int south;
14 }a[maxn];
15 
16 bool cmp(node a, node b){
17     return a.north<b.north;
18 }
19 
20 int main()
21 {
22     int n,maxx=0;
23     scanf("%d",&n);
24     for(int i=0;i<n;i++){
25         scanf("%d %d",&a[i].south, &a[i].north);
26     }
27     sort(a,a+n,cmp);
28     for(int i=0;i<n;i++){
29         for(int j=0;j<i;j++){
30             if( a[i].south>a[j].south ){
31                 dp[i] = max(dp[j]+1,dp[i]);
32                 maxx = max(maxx,dp[i]);
33             }
34         }
35     }
36     printf("%dn",maxx+1);
37     return 0;
38 }

 

原文链接: https://www.cnblogs.com/wsy107316/p/12244299.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    友好城市(LIS+结构体排序)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/326025

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午3:38
下一篇 2023年3月1日 下午3:38

相关推荐