在平面上,有 $n$ 個圓,記為 $c_1, c_2, \ldots, c_n$ 。我們嘗試對這些圓執行這個演算法:
第一行包含一个整數 $n$ ,表示開始時平面上圓的數量 ($1 \le n \le 3 \cdot 10^ 5$)。
接下来 $n$ 行,每行包含三個整數 $x_i, y_i, r_i$ 依序描述圓 $c_i$ 圓心的x坐標、y坐標和它的半徑 ($-10^ 9 \le x_i, y_i\le 10^ 9$, $1\le r_i\le 10^ 9$)。
輸出一行,包含 $n$ 個整數 $a_1, a_2, ... a_n$ ,其中 $a_i$ 表示圓 $c_i$ 是被圓$c_{a_i}$ 删除的。
題目描述中的圖片對應了範例測資中的情況。
APIO 2018 Circle selection
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~26 | $n \leq 5000$ | 13 |
2 | 27~34 | $n \le 3 \cdot 10^ 5$, 對於所有的圓 $y_i=0$ | 30 |
3 | 35~44 | $n \le 3 \cdot 10^ 5$, 每個圓最多和一個其他圓有交集。 | 23 |
4 | 45~50 | $n \le 3 \cdot 10^ 5$, 所有的圓半徑相同。 | 12 |
5 | 51~74 | $n \le 10^ 5$ | 7 |
6 | 75~116 | $n \le 3 \cdot 10^ 5$ | 15 |