No.2885 Range Triangle Collision Decision Queries
タグ : / 解いたユーザー数 15
作問者 : Iroha_3856 / テスター : sortA0329 tikuwa_ hiro1729
問題文
$xy$ 平面上に $N$ 個の三角形があり、$T_1, T_2, \ldots, T_N$ と名前がついています。
$i = 1, 2, \ldots, N$ について、$T_i$ の三頂点の座標は $(A_i, B_i), (A_i-D_i, B_i-D_i), (A_i+D_i, B_i-D_i)$ です。
$i = 1, 2, \ldots, Q$ について、以下のクエリに答えてください。
- $S_i, L_i, R_i$ が与えられるので、$T_{S_i}$ が $T_{L_i}, T_{L_i+1}, \ldots, T_{R_i}$ のすべてと正の面積の共通部分を持つかを判定する(接している場合は正ではないことに注意してください)
ただし、$T_i$ と $T_i$ は正の共通部分を持つとします。
入力
$N$ $A_1\ B_1\ D_1$ $A_2\ B_2\ D_2$ $\vdots$ $A_N\ B_N\ D_N$ $Q$ $S_1\ L_1\ R_1$ $S_2\ L_2\ R_2$ $\vdots$ $S_Q\ L_Q\ R_Q$
入力は全て以下の制約を満たす。
- $1 \leq N \leq 2 \times 10^{5}$
- $-10^{16} \leq A_i, B_i \leq 10^{16}$
- $1 \leq D_i \leq 10^{16}$
- $1 \leq Q \leq 2 \times 10^5$
- $1 \leq S_i \leq N$
- $1 \leq L_i \leq R_i \leq N$
- 入力は全て整数
出力
$Q$ 行出力してください。
$i$ 行目には、$T_{S_i}$ が $T_{L_i}, T_{L_i+1}, \ldots, T_{R_i}$ のすべてと正の共通部分を持つならYes
、そうでないならNo
と出力して、改行してください。
$Q$ 行目の後も改行してください。
サンプル
サンプル1
入力
4 5 5 4 2 5 3 5 6 2 -2 6 2 3 1 1 3 3 1 2 4 1 3
出力
Yes No No
この三角形を描画すると以下のようになります。
- $1$ 番目のクエリについて、$T_1$ は $T_1, T_2, T_3$ のすべてと正の共通部分を持つので、
Yes
と出力します。 - $2$ 番目のクエリについて、$T_3$ は $T_1$ とは正の共通部分を持ちますが、$T_2$ とは接しているだけで正の共通部分を持たないので、
No
と出力します。 - $3$ 番目のクエリについて、$T_4$ は $T_1, T_2, T_3$ のどれとも正の共通部分を持たないので、
No
と出力します。
サンプル2
入力
1 10000000000000000 10000000000000000 10000000000000000 1 1 1 1
出力
Yes
入力が32bit整数に収まらないことがあります。
また、$N = 1$ であることもあります。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。