Logo 邂逅编程之美

UOJ

时间限制:1 s 空间限制:512 MB
Statistics

【题目描述】
淘淘家的后院有一个巨大的凸多边形游泳池,泳池包含 n 个顶点。泳池内有m 座圆形石雕,环境十分优雅。每天清晨,淘淘都会在泳池池边随机选取一个起点,开始她今天的游泳活动。为了达到更好的健身效果,淘淘会找到与起点直线距离最远的顶点作为终点,并尽可能以直线的方式从起点游到终点。抵达终点之后,淘淘希望可以泡在水中欣赏四周的风景,随后开启心情舒畅的一天。
然而,淘淘也有心情不舒畅的时候。一方面,不是每个顶点处都有优美的风景,倘若淘淘选取风景不优美的顶点作为终点,这会导致她当天心情不舒畅;另一方面,淘淘发现了石雕十分碍事,倘若淘淘从起点到终点的直线路线被石雕所阻挡,那么她必须改变游泳路线,这也会导致她当天心情不舒畅。
暑假即将来临,面对连续的 t 天假期,淘淘已经有些迫不及待了。经过认真的数学计算,淘淘发现她心情舒畅的期望天数居然少得可怜!经过认真分析,她认为那些碍事的石雕才是罪魁祸首。为此,她决定开展泳池改造计划——移除石雕。具体地讲,淘淘移除一块石雕需要花费 k 天,并且在此期间她并不会心情舒畅。淘淘可以使用暑假开始前的额外 k* r 天来移除 r 座石雕(r 的数值由淘淘自己决定,可以为 0)。
淘淘一方面希望提升她心情舒畅的期望天数,但她更关心心情舒畅的期望天数占总天数(t+r * k)的比例可以有多大。现在,淘淘找到了聪明的你来协助她设计泳池改造计划,并计算这个比值的最大值。
【输入格式】
第一行包含四个整数 n, m, t, k,其中 n 表示凸多边形泳池的顶点数量,m表示泳池内圆形石雕的数量,t 表示淘淘即将游泳的天数,k 表示拆除一个石雕所需要的天数; 随后 n 行,沿逆时针方向描述泳池的 n 个顶点,每行三个整数 Xi, Yi, Ai,依次表示顶点的横、纵坐标以及风景是否优美,Ai=1 表示优美,Ai=0 表示不优美;
随后 m 行,描述泳池内的 m 个圆形石雕,每行三个整数 Ci, Di, Ri,依次表示圆心的横、纵坐标以及半径,数据保证石雕与石雕不会重合,石雕也不会超出泳池边界。
【输出格式】
输出一个浮点数,表示心情舒畅的期望天数占总天数比例的最大值。输出的结果须保留 4 位小数,当你的答案与标准答案的误差不超过 0.001 时视为正确。
【样例输入】
见 pool1.in/pool2.in/pool3.in 【样例输出】 见 pool1.out/pool2.out/pool3.out 5 【数据范围】
对于 30%的数据,m=0,即没有石雕;
另有 30%的数据,t=1, k=1,000,000,此种情况下无需拆除石雕;
另有 20%的数据,m<=10;
对于 100%的数据,4<=n<=500, 0<=m<=50, 1<=t<=10,000, 1<=k<=1,000,000;
对于 100%的数据,所有坐标、半径的绝对值不超过 10,000,000。
【样例解释】
对于样例 1,由于 m=0,所以不需要考虑拆除石雕。
我们在选取起点时,将多边形分为 2 段来考虑: (2.1, 0)--(5, 0)--(4, 2)--(2.9, 2),距离(0, 2)最远,风景不好,心情 不舒畅, (2,9, 2)--(0, 2)--(1, 0)--(2.1, 0),距离(5, 0)最远,风景好,心情舒畅, 第一段的总长度为 6.2361,整个多边形的总长度为 12.4722,故随机选取起点时有 50%的概率心情舒畅,即心情舒畅的期望天数与总天数的比值为 0.5。

对于样例 2,我们在选取起点时,将多边形分为 9 段来考虑: (这里为了示例的简洁,展示的坐标点仅保留了 1 位小数) (0, 20)--(20, 0)--(21.9, 0),距离(50, 40)最远,风景好,不被阻挡,(20.9, 0)--(35, 0),距离(50, 40)最远,风景好,被石雕阻挡, (35, 0)--(40, 0),距离(20, 40)最远,风景好,不被阻挡, (40, 0)--(45.3, 0),距离(0, 20)最远,风景好,不被阻挡, (45.3, 0)--(50, 0)--(50, 12.9),距离(0, 20)最远,风景好,被石雕阻挡, (50, 12.9)--(50, 40)--(40, 40),距离(0, 20)最远,风景好,不被阻挡, (40, 40)--(35, 40),距离(20, 0)最远,风景好,不被阻挡, (35, 40)--(20, 40)--(17.9, 37.9),距离(50, 0)最远,风景好,不被阻挡, (17.9, 37.9)--(0, 20),距离(50, 0)最远,风景好,被石雕阻挡, 情况 1,拆除石雕,无论在上述 9 段中的哪一段中选取起点均可保证心情舒畅,即随机选取起点时有 100%的概率心情舒畅,因此,计算心情舒畅的期望天数与总天数的比值为(1 * 100%)/(1+1)=0.5; 情况 2,不拆除石雕,6 段不被石雕阻挡的长度之和为 95.3845,9 段总长为156.5685,因此随机选取起点时有 60.92%的概率心情舒畅,即心情舒畅的期望天数与总天数的比值为 0.6092。
比较两种情况下,选取情况 2 的结果作为最终答案。
对于样例 3,我们拆除 1、3、4 号石雕,其余细节不再赘述。