首页 > 其他 > 详细

最接近点对问题

时间:2014-07-03 11:08:39      阅读:364      评论:0      收藏:0      [点我收藏+]

题目大意,给出平面上n个点,每个点都有自己的坐标,找其中一对点,在其中是最短的距离

每一点个n-1个点算出距离,这方法太SB了,换一个

然后就考虑两个子集,S1和S2,分别大约有N/2个点,使得在n个点组成的所有点对中,然后在每一个子集集中递归来解决这问题。问题就是两点如果恰好分别在S1和S2,怎么办?

这里直接给出代码:

bool Cpairl(S,d)
{
	n=|S|;
	if(n<2){d=无限大梦想;return false}
	m=S的中位数;
	S1={x|x<=m};
	S2={x|x>m};
	Cpairl(S1,d1);
	Cpairl(S2,d2);
	p=max(S1);
	q=min(S1);
	d=min(d1,d2,q-p);
	return true;
}

  然后再考虑怎么扩展到二维;

 

最接近点对问题,布布扣,bubuko.com

最接近点对问题

原文:http://www.cnblogs.com/zhko11993/p/3815731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!