建立友好城市有什么用_缔结友好城市

建立友好城市有什么用_缔结友好城市原题连接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/168900.html原文链接:https://javaforall.cn

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

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

(0)


相关推荐

  • mysql 0xc0000005_duilib菜单开发遇见“0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突”…

    mysql 0xc0000005_duilib菜单开发遇见“0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突”…我的程序是这样一个逻辑。首先创建用户列表,点击列表项弹出菜单,点击菜单上“设备选项”,弹出设备列表,上面显示这个用户拥有的设备。菜单的创建参考了这为博主的教程:http://www.cnblogs.com/Alberl/category/520438.html如图点击列表项,弹出菜单中点击“设备”,运行新的窗口“设备列表”。接下来问题出现了,上面操作重复两遍,会在第二次关闭设备列表的时候发生…

  • IP地址划分[通俗易懂]

    IP地址划分[通俗易懂]IP地址划分1IP地址分类(1)A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围:1.0.0.1——126.255.255.254二进制表示为:00000001000000000000000000000001——01111110111111111111111111111110可用的A类网络有126个,每个网络能容纳…

  • c语言之 malloc函数详解「建议收藏」

    c语言之 malloc函数详解「建议收藏」c语言之malloc函数详解一、原型:externvoid*malloc(unsignedintnum_bytes);头文件:#include或#include(注意:alloc.h与malloc.h的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL

  • android之Fragment(官网资料翻译)[通俗易懂]

    Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周

  • swagger常用注解[通俗易懂]

    一、swagger常用注解1、与模型相关的注解两个注解:@ApiModel:用在模型类上,对模型类做注释;@ApiModelProperty:用在属性上,对属性做注释2、与接口相关的注解六个注解:@Api:用在controller上,对controller进行注释;@ApiOperation:用在API方法上,对该API做注释,说明API的作用;

  • 白话零拷贝「建议收藏」

    白话零拷贝「建议收藏」sendfile()这个系统调用是在两个文件描述符之间直接传递数据(这个操作是完全在内核态进行),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,称之为零拷贝,操作效率很高—————————下面我们一步一步来了解什么是零拷贝———————–我们知道I/O操作分为缓存I/O和直接I/O缓存I/O缓存I/O,即标准I/O…

发表回复

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

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