bzoj#P2864. 战火星空

战火星空

题目描述

从 APIO 回来之后,XX 便迷上了「战火星空」这个游戏。

原版战火星空中,有一架小飞机和一个 Boss,玩家控制小飞机来对 Boss 进行射击。然而,这种一对一的游戏已经让 XX 乏味,于是 XX 基于原版战火星空,将其加强创造了一款新版战火星空。

新版战火星空中,有 nn 个 Boss 和 mm 架小飞机。在游戏过程中,Boss 的位置不会改变,而小飞机在从 (sx,sy)(s_x,s_y)(ex,ey)(e_x,e_y) 的线段以速度 vv 匀速飞行,并在到达终点后从地图上消失;小飞机的子弹具有 rr 的射程,在任意时刻,小飞机可以向在射程内的 Boss 射击;而为了使实力更加均衡,游戏还规定在任意时刻,每个 Boss 只能被一架小飞机作为目标射击;每架小飞机也有一个能量值 EE 的限制,若某时刻小飞机向 kk 个 Boss 射击,则每秒需要消耗 kk 个单位的能量,所有能量消耗完之后小飞机不再能够进行射击。

在游戏开始前,XX 知道了所有 Boss 的位置,以及每架小飞机的飞行路线以及各项属性,他想知道所有 Boss 被攻击的总时间最大是多少,你能帮助他吗?

输入格式

第一行包含两个整数 n,mn,m,分别表示 Boss 和小飞机的个数。

接下来 nn 行,每行一个正整数点坐标 (x,y)(x,y),表示一个 Boss 所在的位置。

接下来 mm 行,每行七个正整数 sx,sy,ex,ey,v,r,Es_x,s_y,e_x,e_y,v,r,E,表示每架小飞机的运动路线、速度、射程以及能量值。

输出格式

输出一个实数,表示所有 Boss 被攻击的最大总时间,保留 66 位小数。

1 1
2 2
1 1 5 3 2 1 2
0.894427
2 4
12 10
7 5
10 10 12 10 1 1 3
6 1 8 10 1 2 3
3 6 8 2 5 3 1
42 42 42 42 6 6 6
4.983771

数据规模与约定

对于 30%30\% 的数据,保证每个 Boss 在任意时刻只在最多一架小飞机的射程范围内。

对于 100%100\% 的数据,1n,m201\leq n,m\leq 201sx,sy,ex,ey,v,r,E1031\leq s_x,s_y,e_x,e_y,v,r,E\leq 10^3