用户工具

站点工具


2023-2024:teams:al_in_and_back_to_whk:23-nowcoder-4:c

题面描述

(简化版)在给定点的半径为 $r$ 的圆内选一点,求以该点为圆心半径为 $R$ 的圆覆盖到的点的权值和最大是多少。点数为 $n$ 。

$n \le 1000$

题解

考虑如果不能平移该圆使得某点在其边缘,则其解一定与直接取在给定点处相同。

之后考虑枚举取在某点为圆心的圆上,这里可以有两种放法,如果该点权值是负数,则可以略微向外一点,如果是正数则取上。

然后对于其他的点,我们考虑求出来其与这个圆的交的弧度,然后做扫描线。在实现时,可以将可选点的那个圆也一块放进去,然后权值设为极大即可。

2023-2024/teams/al_in_and_back_to_whk/23-nowcoder-4/c.txt · 最后更改: 2023/07/29 18:13 由 11231123