P2782 友好城市()

2024-04-24 14:32
文章标签 友好城市 p2782

本文主要是介绍P2782 友好城市(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然很水但窝还是要发!
题目描述

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

输入输出格式

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

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

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

输入输出样例

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

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

100% 1<=N<=2e5,0<=xi<=1e6

看一下数据很容易发现让两个桥不相交的最简单条件就是a.w<b.w且a.s<b.s,所以在按其中任意一边从小到大排序完后算另一边的最长上升子序列就ok了

#include <iostream>
#include <algorithm>
#include <limits.h>
using namespace std;
struct st{int a,b;}s[1000100];
int dp[1000100]={0};
bool cmp(st A,st B){if(A.a==B.a) return A.b<B.b;else return A.a<B.a; }
int main()
{int n,i;cin>>n;for(i=0;i<n;i++){cin>>s[i].a>>s[i].b;}int sum=0;sort(s,s+n,cmp);dp[0]=-INT_MAX;for(i=0;i<n;i++){if(dp[sum]<s[i].b){sum++;dp[sum]=s[i].b;}else{int *p=lower_bound(dp+1,dp+sum,s[i].b);int g=p-dp;dp[g]=s[i].b;}}cout<<sum<<endl;return 0;} 

这篇关于P2782 友好城市()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932017

相关文章

【DP】友好城市

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

一带一路专题:人均GDP经济自由度地理距离经济面板友好城市

一、一带一路人均GDP数据和经济自由度数据 1、数据来源:WDI世界银行统计数据和研究报告数据 2、时间跨度:一带一路国家人均GDP(2011-2020)、2003-2018(经济自由度指数) 3、区域范围:所有一带一路国家 4、指标说明: 部分数据截图如下 二、中国与一带一路国家的地理距离 1、数据来源:CEPII 2、时间跨度:至今 3、区域范围:世界 4、指标

利物浦有望成为全球第一个气候友好城市

点击上方 “蓝色字” 可关注我们! 暴走时评: 利物浦市议会(LCC)宣布将利用区块链技术缓解气候问题带来的影响。LCC发布推文解释说将努力减少城市气候影响,计划到2020年成为全球第一个气候友好型城市,与波塞冬基金会合作,对区块链平台进行为期一年的试验,目标是将城市的气候影响抵消110%以上。 作者:Maxwell William    翻译:Miranda 当地新闻媒体ed