建立友好城市有什么用_算法基础课acwing下载

建立友好城市有什么用_算法基础课acwing下载原题连接Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。输入格式第1行,一个整数N,表示城市数。第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题连接

Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市

北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。

每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。

编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。

输入格式
第1行,一个整数N,表示城市数。

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

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

数据范围
1≤N≤5000,
0≤xi≤10000
输入样例:

7
22 4
2 6
10 3
15 12
9 8
17 17
4 2

输出样例:

4

题解
先按照y排序然后对x求最长上升子序列

#include<bits/stdc++.h>
#include<cmath>
#define x first
#define y second
#define send string::npos
#define lowbit(x) (x&(-x))
#define left(x) x<<1
#define right(x) x<<1|1
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
typedef struct Node * pnode;
const int N = 1e1 + 10;
const int M = 5e5 + 10;
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int Mod = 4e8;
PII a[N];
bool cmp(const PII &a,const PII &b){ 
   
    return a.y < b.y;
}
int f[N];
int main(){ 
   
    int n,x,y;
    cin>>n;
    for(int i = 0;i < n;i ++)
    { 
   
        cin>>a[i].x>>a[i].y;
    }
    sort(a,a + n,cmp);
// for(int i = 0;i < n;i ++){ 
   
// a[i].x = i;
// cout<<a[i].x<<endl;
// }
    f[0] = 1;
    int res = 0;
    for(int i = 1;i < n;i ++){ 
   
        for(int j = 0;j < i;j ++){ 
   
            if(a[j].x < a[i].x){ 
   
                f[i] = max(f[i],f[j]);
            }
        }
        f[i] += 1;
        res = max(res,f[i]);
    }
    cout<<res<<endl;
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169173.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 递归算法之阶乘算法

    递归算法之阶乘算法递归算法是一种比较难理解的算法,本人是一位学生,饱受编程之苦,为了给广大学编程的童鞋提供方便,这里总结了一些教科书中常见的递归算法案例。这是第一篇,简单的用递归实现的阶乘算法。#includeusingnamespacestd;intFactorial(intn){ intsum=0;//定义一个累乘的sum量 if(n==0)return

  • KAZE与SIFT算法比较

    KAZE与SIFT算法比较比较KAZE与SIFT的算法。根据测试结果,两种算法对于ubc、bikes、trees和boat四种图集都有很好的鲁棒性,能够准确将图像匹配起来。两种算法的差异主要是在bark、graf、leuven和wall图集中表现出来的。bark图集主要检验特征算法对旋转和缩放的鲁棒性。可见KAZE算法有效检测的特征点少于SIFT算法,而SIFT算

  • intellij idea2022 激活码【2022免费激活】2022.02.07

    (intellij idea2022 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • clion 激活码[在线序列号]

    clion 激活码[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 公开课

    公开课

    2021年12月14日
  • Java——教师类

    Java——教师类Description设计一个教师类Teacher,要求:属性有编号(intno)、姓名(Stringname)、年龄(intage)、所属学院(Stringseminary),为这些属性设置相应的get和set方法。为Teacher类重写equals方法,要求:当两个教师对象的no相同时返回true。重写Teacher类的toString方法,通过该方法可以返回“no:**…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号