建立友好城市有什么用_算法基础课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;
}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python字典dict方法_python中dict的用法

    python字典dict方法_python中dict的用法文章目录:一.字典(dict)的概念:二.字典(dict)的定义:1.一般格式:2.空字典:3.举例:注意:三.字典(dict)的一些基本操作:1.增:2.删:3.查:4.改:四.字典(dict)的常见操作:五.字典三种取值方式:1.value=字典名[key]:2.setdefault:3.get:六.字典的遍历:1.key:2.value:3.item:4.依次打印key和value:5.元素值和对应的下标索引(enumerate()):一.字典(dict)的概念:Python字典是另一种可变容器模

    2022年10月6日
    2
  • 数据库查询优化——Mysql索引

    数据库查询优化——Mysql索引

    2020年11月12日
    297
  • keypad 按键响应流程解析「建议收藏」

    keypad 按键响应流程解析「建议收藏」一、keypad驱动,接收按键事件并将按键值转换为Linuxcode上发。二、如何一层层上传到Android系统的控件中。

    2022年5月20日
    47
  • 摄像头为什么要公网ip_安装监控为什么需要公网ip

    摄像头为什么要公网ip_安装监控为什么需要公网ip原标题:三种方法告诉你项目超过255个摄像机怎么设置IP?我们做弱电的,与ip地址接触最多,无论是弱电的哪方面,都需要跟ip地址打交道,通常我们也会经常听到公网、内网?那什么是公网ip地址呢?什么是私网ip地址呢?为什么我们常见到的ip地址以开头呢?还有就是一个网段只能容纳254个摄像机,但是我现在项目比较大,都有300多个摄像机了,该咋分配IP地址呢?我们今天统统来了解一下。首先关于内、外…

    2022年9月25日
    6
  • 485转网口的moxa(虚拟机com口和主机com口)

    影响我们一生百倍差距的四大效应观察者效应:你的世界是什么样是由你的观察决定的.这个效应是在【潜能突破】研习营课堂上发现的,我们有个练习叫三生万物,每个人都会成为一次观察者角色,当大家在成为其他角色时,他们总是发现不了自己的问题,无论我们怎样提醒都没有用,无法改变原有的模式,当他们进入观察者模式,看见其他人的行为所造成的后果时,立刻恍然大悟,主动注意自己的形为,在当下立刻发生改变.刚开始我以为这是个…

    2022年4月17日
    51
  • springboot转发和重定向_nginx重定向和转发的区别

    springboot转发和重定向_nginx重定向和转发的区别重定向就是浏览器重新发送新的请求,请求域改变,浏览器上的地址栏有变动,发送的地址是相对于项目的地址;转发就是服务器在服务器内部进行请求的转发,请求域不变,浏览器上的地址栏不变;一般在处理一个请求后再跳转到另一个处理请求时,进行重定向redirect;当请求不能变时,用forward转发请求。更详细的解释…

    2025年9月2日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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