[NOIP] [并查集] NOIP2017Day2 奶酪

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

猜你喜欢

转载自blog.csdn.net/HeRaNO/article/details/78566335
今日推荐