题目名称 2893. 磁力块
输入输出 magnet.in/out
难度等级 ★★★
时间限制 2000 ms (2 s)
内存限制 64 MiB
测试数据 10
题目来源 GravatarLGLJ 于2019-08-26加入
开放分组 全部用户
提交状态
分类标签
分块
分享题解
通过:9, 提交:35, 通过率:25.71%
Gravatar雾茗 100 0.939 s 26.07 MiB C++
GravatarLGLJ 100 0.988 s 11.65 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 1.096 s 16.44 MiB C++
Gravatarop_组撒头屯 100 1.314 s 10.86 MiB C++
Gravatar┭┮﹏┭┮ 100 1.451 s 13.83 MiB C++
Gravatarliuyiche 100 1.522 s 8.27 MiB C++
Gravatarlihaoze 100 1.566 s 10.97 MiB C++
Gravatarlihaoze 100 1.691 s 12.97 MiB C++
Gravatarflyfree 100 4.007 s 9.76 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 70 1.211 s 23.45 MiB C++
本题关联比赛
SYOI 专题 4:分块(根号杂烩)
关于 磁力块 的近10条评论(全部评论)
$long long$
Gravatar┭┮﹏┭┮
2024-04-10 22:16 1楼

2893. 磁力块

★★★   输入文件:magnet.in   输出文件:magnet.out   简单对比
时间限制:2 s   内存限制:64 MiB

【题目描述】

在一片广袤无垠的原野上,散落着N块磁石。

每个磁石的性质可以用一个五元组$(x,y,m,p,r)$描述,其中$x,y$表示其坐标,$m$是磁石的质量,$p$是磁力,$r$是吸引半径。

若磁石A与磁石B的距离不大于磁石A的吸引半径,并且磁石B的质量不大于磁石A的磁力,那么A可以吸引B。

小取酒带着一块自己的磁石L来到了这片原野的$(x0,y0)$处,我们可以视磁石L的坐标为$(x0,y0)$。

小取酒手持磁石L并保持原地不动,所有可以被L吸引的磁石将会被吸引过来。

在每个时刻,他可以选择更换任意一块自己已经获得的磁石(当然也可以是自己最初携带的L磁石)在$(x0,y0)$处吸引更多的磁石。

小取酒想知道,他最多能获得多少块磁石呢?

【输入格式】

第一行五个整数$x0,y0,pL,rL,N$,表示小取酒所在的位置,磁石L磁力、吸引半径和原野上散落磁石的个数。

接下来N行每行五个整数$x,y,m,p,r$,描述一块磁石的性质。

【输出格式】

输出一个整数,表示最多可以获得的散落磁石个数(不包含最初携带的磁石L)。

【样例输入】

0 0 5 10 5
5 4 7 11 5
-7 1 4 7 8
0 2 13 5 6
2 -3 9 3 4
13 5 1 9 9

【样例输出】

3

【提示】

$1≤N≤250000$

$−10^9≤x,y≤10^9$

$1≤m,p,r≤10^9$

【来源】

《算法竞赛进阶指南》