Segpair
- 1. 最近線分対
原案・問題文:宮村
解答:宮村、橋本
解説:宮村
- 2. 問題概要
N 本の線分が与えられるので、最も近い線分間の
距離を求める問題。
N≦10^5
0≦x[i,j], y[i,j]≦100
- 3. 着眼点
不自然に小さい 0≦x[i,j], y[i,j]≦100 に着目する。
鳩ノ巣原理 (PHP) より N>101*101/2 のときは答
が必ず 0 になる。
なので、実際は N≦101*101/2≒5000 のときだけ
を考えれば良い。
- 4. 解法
N≦101*101/2 のときだけ真面目に全探索する。
ただし、幾何の計算は重いので TLE の可能性があ
る。
x 座標でソートしておいて、これまでの最適解以内
の範囲だけ調べる、などの簡単な枝刈りを付け加
えると余裕で間に合う。
- 5. 解答例
宮村: C++
92 行 1780 byte
橋本: Java
76 行 2281 byte