[NOIP] [并查集] NOIP2017Day2 奶酪

题目传送门
在经历了 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值