轮船问题(DP基础)

摘要:
某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有一个城市作为友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉。兴建哪些航线以使在安全条件下有最多航线可以被开通。

某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有一个城市作为友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉(如果两条航线交叉,将有很大机会撞船)。兴建哪些航线以使在安全条件下有最多航线可以被开通。

Input Format:

第一行两个由空格分隔的整数x,y,10〈=x,y〈=60000,x,y中较长的表示河的长度另一个表示宽。第二行是一个整数N(1<=N<=5000)(P.S.:X,Y没有任何用处),表示分布在河两岸的城市对数。接下来的N行每行有两个由空格分隔的正数C,D(C、D〈=x〉,描述每一对友好城市与河起点的距离,C表示北岸城市的距离而D表示南岸城市的距离。在河的同一边,任何两个城市的位置都是不同的。

30 4
5
4 5
2 4
5 2
1 3
3 1

Sample Output:

一个整数,表示安全条件下能够开通的最大航线数目。

3

思路:

既然要看是避开交集不让你先按C或D排一下序。这样在一个有序的队列就就好搞了。

如果a,b不相交,自然先后先后顺序是一样的。用for循环找最多的次数。

然后,用F【??】数组记录大小。

cpp:

轮船问题(DP基础)第1张轮船问题(DP基础)第2张
1 #include <cstdio>
2 #include <algorithm>
3 using namespacestd;
4 
5 intx,y,n,i,j;
6 int f[5000];
7 structCity{
8     intc,d;
9 }city[5000];
10 
11 int cmp(const City &a,const City &b)
12 {
13     if (a.c<b.c)  return 1;
14     else return 0;
15 }       
16 
17 intmain()
18 {
19     /*freopen("ship.in","r",stdin);
20 freopen("ship.out","w",stdout); */
21     scanf("%d%d",&x,&y);
22     scanf("%d",&n);
23     for (i=0; i<n; i++) scanf("%d%d",&city[i].c,&city[i].d);
24     sort(city,city+n,cmp);
25     int max=1;
26     for (i=0;i<n;i++)
27 {
28         f[i]=1;
29         for (j=0;j<i;j++)
30             if (city[j].d<city[i].d && f[j]+1>f[i]) f[i]=f[j]+1;
31         if (f[i]>max) max=f[i];
32 }
33        printf("%d
",max);
34     return 035 }           
View Code

免责声明:文章转载自《轮船问题(DP基础)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于echarts中南海诸岛的显示问题使用ast(抽象语法树)在代码中植入埋点下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Delete from join 用法

delete(别名)fromtblA(别名)leftjointblb(别名)on。。。...

当微信小程序遇到AR(二)

当微信小程序遇到AR,会擦出怎么样的火花?期待与激动......通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习。注册地址=˃注册成功之后,需要下载微信小程序开发工具。下载地址=˃目前笔者的开发环境是:Windows10下载的微信小程序版本为:RCv1.0.2.1909111 打开,微信开发者工具之后,会看到如下的页面。...

Kafka监控工具——Kafka-Eagle

Kafka监控工具官网https://www.kafka-eagle.org/是什么KafkaEagle是一款用于监控和管理ApacheKafka的完全开源系统,目前托管在Github,由笔者和一些开源爱好者共同维护。而且,在使用消费者API时,尽量#客户端KafkaAPI版本和Kafka服务端的版本保持#一致性。...

(二)Jenkins配置主从节点实例

4.从节点配置和相关配置中从节点机创建jenkins用户,并从一些环境配置中创建jenkings用户的ssh密钥,用于指定上述配置界面的ssh启动模式;在配置启动模式和项目源代码管理中从远程仓库获取源代码;创建Jenkins用户并使用root登录到远程子节点计算机。#adduserjenkins#passwdjenkins生成Jenkins用户的ssh密钥。...

allure报告实现保存失败用例截图功能

allure中可以保存日志信息和截图日志allure能够自动识别。截图需要自己在添加allure方法。...

开源BI分析工具Metabase配置与完全使用手册

文章目录简介安装初始配置数据分析简单查询创建场景创建集合和仪表盘自定义查询原生查询sql变量动态sql片段管理员操作添加数据库连接oracle成员管理邀请新成员权限配置数据权限文件夹权限邮箱配置定时任务简介Metabase是一个免费的BI分析工具,可以帮助你把数据库中的数据更好的呈现给更多人,通过建立一个”查询“来提炼数据,再以图形化的方式做展示。上手简单,...