建立友好城市有什么用_算法基础课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)
上一篇 2022年8月9日 下午8:16
下一篇 2022年8月9日 下午8:16


相关推荐

  • Pycharm 常用快捷键 for Mac

    Pycharm 常用快捷键 for Mac格式化代码 command option L 多行合并一行 control shift J 快速注释 取消注释 crtl 鼠标指针上方插入空行 command option enter 鼠标指针下方插入空行 shift enter 上下移动选中代码 shift option 上 下上下移动函数 shift command 上 下复制选中的代码 command D 折叠选中函数 或者鼠标指针放在函数名 command 查找 全局

    2025年9月23日
    4
  • sntp 校时问题

    sntp 校时问题1 背景由于项目中的数据对时间比较敏感 目前常常出现校时问题 导致时间偏差 出现曲线数据丢失和曲线数据重复等问题 因此对 sntp 源码进行深入分析 要了解 SNTP 首先需要了解 NTP 协议 SNTP 是 NTP 的子集 简化了 NTP 的许多算法和步骤 得到了效率 但时间的精度不如 NTP 可是对于民用时间来说足够了 大概最多差距几秒的样子 NTP NetworkTimeP 网络时间协议 是由 RFC1305 定义的时间同步协议 用来在分布式时间服务器和客户端之间进行时间同步 NTP 基于 UDP 报

    2025年6月20日
    5
  • 腾讯版 OpenClaw 来了!无需部署,安装即用!

    腾讯版 OpenClaw 来了!无需部署,安装即用!

    2026年3月12日
    8
  • 谢烟客———Linux之Bash基础特性(1)

    谢烟客———Linux之Bash基础特性(1)

    2022年3月5日
    44
  • 限流算法-常见的4种限流算法

    限流算法-常见的4种限流算法首先我们先来看看什么是限流 限流是指在系统面临高并发 大流量请求的情况下 限制新的流量对系统的访问 从而保证系统服务的安全性 另一种解释 在计算机网络中 限流就是控制网络接口发送或接收请求的速率 它可防止 DoS 攻击和限制 Web 爬虫 那么我们为什么会限流 日常的业务上有类似秒杀活动 双十一大促或者突发新闻等场景 用户的流量突增 后端服务的处理能力是有限的 如果不能处理好突发流量 后端服务很容易就被打垮 导致整个系统崩溃 亦或是爬虫等不正常流量 我们对外暴露的服务都要以最大恶意去防备我们的调用者 我们

    2026年3月18日
    2
  • Kibana 使用 KQL 查询语法-kibana 常用查询语法

    Kibana 使用 KQL 查询语法-kibana 常用查询语法Kibana 查询语言 KQL 是一种使用自由文本搜索或基于字段的搜索过滤 Elasticsearc 数据的简单语法 KQL 仅用于过滤数据 并没有对数据进行排序或聚合的作用 KQL 能够在您键入时建议字段名称 值和运算符 建议的性能由 Kibana 设置控制 KQL 具有与 Lucene 查询语法不同的一组特性 KQL 能够查询嵌套字段和脚本字段 KQL 不支持正则表达式或使用模糊术语进行搜索 要使用旧版 Lucene 语法 请单击搜索字段旁边的 KQL 然后关闭 KQL 术语

    2026年3月18日
    1

发表回复

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

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