典型90問 まとめ 011~020
012 - Red Painting(★4)
マスを赤く塗るクエリと赤で塗ったマスが繋がっているかを判定するクエリを処理する問題。
連結判定なのでUnionFindを使う。
その際マスを数字に対応づける必要があるが、それは
とすればよい。(これは左上から順にマスをひとつずつ数えていったとき何番目に対応するかを表しており、この対応は単射である。まあW進法と考えれば当たり前だが……)
013 - Passing(★5)
(ある地点Kを経由して1からNまで辿る最短経路) = (1からKまでの最短経路) + (KからNまでの最短経路)
最短経路を求めるにはダイクストラを使えば良い
014 - We Used to Sing a Song Together(★3)
ソートして同じ順位にあるものたちの差を足し上げれば良いことがすぐにわかります。
016 - Minimum Coins(★3)
制約が全探索してくれって言ってるので素直に全探索しましょう。
以下のコードではなるべくループの回数を少なくするためにとなるようにしています。
Aの枚、Bを枚使うとしたときにが非負でCの倍数ならとおくとが最小値の候補です。これを繰り返します。 AC
018 - Statue of Chokudai(★3)
三角比でゴリゴリ計算すればOK
私はarctanを求める方法で解きました。いろいろな求め方があると思います。
020 - Log Inequality(★3)
誤差に注意しようという問題。
はと同値なので後者で判定していく。