• 洛谷P2782 友好城市


    P2782 友好城市

      • 392通过
      • 698提交
    • 题目提供者Drench
    • 标签 2001(或之前) 云端
    • 难度 普及-
    • 时空限制 1s / 128MB

    题目背景

    题目描述

    有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。没对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航道不相交的情况下,被批准的申请尽量多。

    输入输出格式

    输入格式:

    第1行,一个整数N(1<=N<=5000),表示城市数。

    第2行到第n+1行,每行两个整数,中间用一个空格隔开,分别表示南岸和北岸的一对友好城市的坐标。(0<=xi<=10000)

    输出格式:

    仅一行,输出一个整数,表示政府所能批准的最多申请数。

    输入输出样例

    输入样例#1:
    7
    22 4
    2 6
    10 3
    15 12
    9 8
    17 17
    4 2
    输出样例#1:
    4

    说明

    1<=N<=5000,0<=xi<=10000

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<string>
     6 #include<cmath>
     7 
     8 using namespace std;
     9 const int N=5001;
    10 
    11 struct node{
    12     int up,down;
    13 }E[N];
    14 
    15 int b[N];
    16 
    17 inline bool cmp(node a,node b)
    18 {
    19     return a.up<b.up;
    20 }  
    21 
    22 int main()
    23 {
    24     int n;
    25     scanf("%d",&n);
    26     for(int i=1;i<=n;i++)
    27     {
    28         scanf("%d%d",&E[i].down,&E[i].up);
    29     }
    30     sort(E+1,E+n+1,cmp);
    31     
    32     int ans=-1;
    33     for(int i=1;i<=n;i++)
    34     {
    35         b[i]=1;
    36         for(int j=1;j<i;j++)
    37         {
    38             if(E[j].down<=E[i].down&&b[j]+1>b[i])
    39             {
    40                 b[i]=b[j]+1;
    41             }
    42         }
    43         ans=max(ans,b[i]);
    44     }
    45     printf("%d",ans);
    46     return 0;
    47 }

    明显的最长上升子序列

    先将北岸按从小到大排序,然后求南岸的最长上升子序列

  • 相关阅读:
    bash 大致学习后的小案例,导出数据进行打包
    android 处理图片工具
    js屏蔽文本选中产生的蓝色背景色
    修正IE6不支持position:fixed的bug
    TreeView ShowCheckBox [文摘]
    存储过程分页程序
    GridView 72般绝技 很棒的东西 收藏..
    GridView 自带排序分页
    字符串补位
    sql2005 定义临时表
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6850173.html
Copyright © 2020-2023  润新知