CF681E Runaway to a Shadow

题目描述

Dima 住在一间宿舍里,和一些蟑螂一起。 在时刻 $0$,Dima 看到一只蟑螂在桌子上跑动,并决定要把它打死。Dima 需要恰好 $T$ 秒来瞄准,然后他会精确地袭击并消灭这只蟑螂。 为了生存,这只蟑螂必须在 $T$ 秒内跑进桌上某只盘子投下的圆形阴影里。每个盘子投下的阴影都是一个圆形。阴影圆可以任意地相交、嵌套或重叠。 蟑螂采取如下策略:它首先等概率地随机选择一个方向,然后以恒定速度 $v$ 朝这个方向奔跑。如果在某个时刻 $t \leq T$ 内它到达了某个阴影圆,它就会立即停在阴影中,从而幸存下来。否则,蟑螂就会被 Dima 精确打击杀死。假设 Dima 的打击是瞬时的。 请你计算这只蟑螂能够存活的概率。

输入格式

输入的第一行为四个整数 $x_0$、$y_0$、$v$、$T$($|x_0|,|y_0| \leq 10^9$,$0 \leq v,T \leq 10^9$),表示蟑螂初始在直角坐标系下的位置、蟑螂的速度以及 Dima 瞄准需要的时间。 接下来一行包含一个整数 $n$($1 \leq n \leq 100000$),表示投下阴影的盘子数目。 接下来的 $n$ 行,每行包含三个整数 $x_i$、$y_i$、$r_i$($|x_i|,|y_i| \leq 10^9$,$0 \leq r_i \leq 10^9$),表示第 $i$ 个阴影圆心的坐标和半径。 假设桌子足够大,蟑螂不会因为跑到桌沿而避免 Dima 的高速打击。

输出格式

输出一个实数 $p$,表示蟑螂能够存活的概率。 如果你的输出的绝对误差或相对误差不超过 $10^{-4}$,那么你的答案将被视为正确。

说明/提示

下图为第一个样例的示意图。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF681E/3b35a58e93815d2d230d24cb7d27ab6d96995987.png) 红色区域表示如果蟑螂选择这个方向会被杀死,绿色区域表示能存活的方向。注意,虽然圆心在 $(-2,2)$ 的阴影圆存在一部分红色区域,这是因为蟑螂不能在 $1$ 秒内到达那里。 由 ChatGPT 5 翻译