| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1418 人关注过本帖
标题:问题求助之修建公路
只看楼主 加入收藏
darklv10
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2007-4-27
收藏
得分:1 
我觉得应该这样理解...
输入示例
2 (城镇数量)
0 0 (第一个城镇的坐标)
5 5  (第二城镇的坐标)
输出示例
5 (两城镇间联通所需时间,可以用公式:(|X1-X2|+|Y1-Y2|)/2求出来...
如果城镇数是3以上的话,就需要把每两个城镇联通时间算出来,然后求最大值...
2011-04-27 17:19
crystal0418
Rank: 1
来 自:福建福州
等 级:新手上路
帖 子:6
专家分:6
注 册:2011-4-26
收藏
得分:0 
回复 11楼 darklv10
如果是这样的话,万一某两个城镇通过第三个城镇连接3会更短的话,程序会不会出问题??

等我毕业,就两年,记住哦
2011-04-27 18:33
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
回复 11楼 darklv10
首先这个公式 (|X1-X2|+|Y1-Y2|)/2 就不对
上面都说过了是 max(.....).

你想下,(0, 0) 和 (1, 3) 显然是3秒后连通嘛。要按你的公式是2秒,那会根本没连上。
2011-04-27 19:04
darklv10
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2007-4-27
收藏
得分:1 
恩是搞错了,应该改用求|X1-X2|,|Y1-Y2|的较大值...
2011-04-27 19:22
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:1 
按照x,y分别排序,求差,求最大值,最长距离的两点连线与坐标轴不平行时,他是一个时间上限的,这个值是连通的最大值了,加上对于坐标轴平行的判断最终求得的结果也是一个上限。需要证明的就是这个上限也是它的下限、

假设最后求出的两点为(xi,yi),(xj,yj),最大距离为xj-xi,那么在(xi,xj)之间必定不会存在序列中的点,在xi左边与xj右边的城镇连通的最短时间也就是xi,与xj连通的时间了。对于y轴是一样的。这是否对呢。不知道是否严谨、pangding数学在行。看看能否用更严谨的数学证明来证明它的正确性。

离恨恰如春草,更行更远还生。
2011-04-27 21:09
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:1 
顶上去 等代码
2011-04-27 22:27
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:1 
输入示例
2
0 0
5 5
输出示例
5

那个点在修路 不是两个点都修嘛?  
2011-04-27 22:32
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
玩出来的代码:考虑四个点,
a1=(-2,-1), a2=(-1,-2), a3=(1,2), a4=(2,1)
x 排序 -2 -1 1 2
y 排序也是 -2 -1 1 2
差序列都是 1 2 1
按你的说法 2 秒后连通。但其实这四个点连通需要 3 秒。
2011-04-28 10:09
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
现在这道题我只有 O(n^2) 级的算法。而且我明显感觉不是最好算法。
2011-04-28 10:14
darklv10
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2007-4-27
收藏
得分:1 
突然发现忽略了一点,如果两个镇在同一Y轴或X轴
像(2,3)(2,-1)那么联通时间就应该为(3-(-1))/2=2
2011-04-28 10:34
快速回复:问题求助之修建公路
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016637 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved