当前位置:   article > 正文

[NOIP] [并查集] NOIP2017Day2 奶酪_奶酪2017并查集

奶酪2017并查集

题目传送门
在经历了 Day1 的爆炸之后,zb说 Day2 能翻,我信了……
看到 T1,我还真信了……
考虑平面内判断两圆位置关系的方法,是将圆心距和半径和进行比较,那么推广到空间中,这种方法也同样适用。如果球心距小于等于两球半径之和,则这两个球就是连通的。
我们用并查集将两个连通的球并起来,如果球心竖坐标在 [ − r , r ] [-r,r] [r,r] 之间,则说明可以从下底面进入这个球,如果球心竖坐标在 [ h − r , h + r ] [h-r,h+r] [hr,h+r] 之间,则说明可以送这个球出去到上底面,这样建立虚拟的节点上下底面,最后判断上下底面是否连通即可。
注意到爆 long long 的问题,可以通过巧妙的移项处理,避免这个问题。
(但是我没有考虑在洛谷上居然 A 了……
时间复杂度 O ( T n 2 ) O(Tn^2) O(Tn2)
Code

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号