电脑版
首页

搜索 繁体

夜莺与神明[破鏡重圓] 第73(3/3)

热门小说推荐

最近更新小说

离我最远”的答案地图。

他将这10万张地图叠加在一起,形成了一张包了天文数字般信息的、极其复杂的“查询地图”。

运用“平面定位算法”,为这张“查询地图”建立了一个查询引擎。

最后,当题目给颗卫星的坐标时,他们要的,只是把每一颗卫星的坐标,一个一个地输事先建立的“查询地图”里。

系统会瞬间告诉他,对于这颗卫星,1号居住区最远是a,2号是b,3号是c……他们只需行简单的距离判断,就能得最终答案。

程明笃在白板上,用短短几十秒,清晰地勾勒了这个堪称天行空的、宏伟的算法框架。

他那两位同样是尖天才的队友,在最初的震惊过后,立刻领会了这个思路的妙之

接着,那个负责编码的队友,立刻指了这个计划中最致命的、也是最现实的难题。

“思路很巧妙,但这个实现难度太了!”他的神凝重起来,“光是构建voronoi图时,计算那些由垂直平分线构成的,就会涉及大量的浮数运算。double的度误差是会累积的。只要有一个因为度问题偏离了哪怕只偏离107,整个数据结构的拓扑关系就全错了,后面的所有查询,都会是垃圾结果。这题的测试数据,一定是用最刁钻的方式,卡着我们度的。”

这就是计算几何竞赛中的“鬼”——度问题。它像一个幽灵,能让你明明拥有了全世界最正确的思路,却仍然写不结果可接受的代码。

然而,程明笃似乎早就料到了这个问题。他的脸上,没有什么意外。

他拿起白板掉了刚才画的一个辅助圆,然后看着两位队友,用一异常冷静的语气说

“我知。所以,我们不用double。”

队友愣住了:“不用double?那怎么计算和距离?”

“用我之前封装过一个几何库模板,所有的坐标,我们全用整型(longlong)来存储。所有涉及方向判定、在线的哪一侧、外关系等心的几何判断,全用基于向量的叉积和积来计算。这样,我们就可以在整个建图过程中,从本上避免任何浮数的比较,保证所有拓扑关系的正确。”

“那距离呢?”数学队友追问,“最后一步判断‘最远’和圆心的距离,必须要开方,一定会产生浮数。”

“对,”程明笃,“但那已经是我们唯一需要动用浮数的、最后一步了,但是我们不需要真的开方,用平方来行比较,将度误差的风险降低。”

题目上的沟壑,

如今他们用数学来一一填平。

程明笃负责在白板上,用他那大的空间想象力,理最复杂的逻辑和边界况。

数学队友负责将程明笃的思路,转化为一行行严谨的数学推导,供编码的队友参考。

时间,来到最后一分钟。

“提。”程明笃的声音此时已经掀不起一丝波澜。

对于真正能参加这场决赛的人来说,一题得以巧妙解决,在结果的瞬间就一直差不多知晓了。

队友键。全世界的目光,都聚焦在了他们队伍的屏幕上。

Loading...

内容未加载完成,请尝试【刷新网页】or【设置-关闭小说模式】or【设置-关闭广告屏蔽】~

推荐使用【UC浏览器】or【火狐浏览器】or【百度极速版】打开并收藏网址!

收藏网址:https://www.zhuishula.net