题目链接:http://poj.org/problem?id=1755
题意:铁人三项比赛,给出n个人进行每一项的速度vi, ui, wi; 对每个人判断,通过改变3项比赛的路程,是否能让该人获胜(严格获胜)。
思路:题目实际上是给出了n个式子方程,Ti = Ai * x + Bi * y + Ci * z , 0 < i < n
要判断第i个人能否获胜,即判断不等式组 Tj - Ti > 0, 0 < j < n && j != i 有解
即 (Aj - Ai)* x + (Bj - Bi) * y + ( Cj - Ci ) * z > 0, 0 < j < n && j != i 有解
由于 z > 0, 所以 可以两边同时除以 z, 将 x / z, y / z 分别看成 x和 y , 这样就化三维为二维,可用半平面交判断是否存在解了,
对每个人构造一次,求一次半平面交即可。
我用的ZZY的 I&S算法的模版,做的过程中要将A*x + B * y + C > 0表示的半平面,转化成由两点组成的向量表示, IQ问题,纠结挺久
首先,所有的半平面保证符号一致(我取的> ), 然后