2023/1/24(火)

今週の胎界主を読んだ。ルーサー、哀れ。漫画としてギャグ的に描かれてるけどルーサー視点の恐怖すさまじそうだな。親父からは逃げられない!


今日解いた競プロの問題。

ABC286-Ex: 自力AC。ABCのEx問題初めて解けた!!

最短経路なので糸を張るのを想像するとよい。ST間の直線が凸多角形と交わらないならそのままST間の直線距離とすればよい。交わるなら、SとTから糸を張ってピンと張ったときの状態を考える。2通りの張り方があるので、「S<〇>T」といった感じの状態になる。この上回りと下回りそれぞれについて計算する。

まず、SとTそれぞれから張った時に初めて接する頂点を特定する必要がある。凸多角形なので、隣り合う2頂点について順番にずーと「(S→頂点1)×(S→頂点2)」という外積を取っていって符号が反転するところを見ればよい。

SとTそれぞれから接する頂点を取れたら、ST間に張った糸はその間の頂点群にぴったり張り付くはずなので距離を合算していけばよい。凸多角形なので溝のような構造を考える必要はない。

Ex問題だが本質的な部分は非常に簡単だった。むしろ線分の交差判定の実装とオーバーフローに気付くのに時間がかかった。阿呆にも「オーバーフローはしっかり対策したんだよな~」とか思って可能性を除外していたが、データを突っ込んでみないと分からないものだ。


シェークスピア「リア王」を読み進めている。信じていたものに裏切られ、狂気に陥っていく作劇が重層的になっていて、次の展開がどうなることかとずっとはらはらさせてくれる。あと道化の掛け合いが非常に面白い。

Categories: