ABC170 参加メモ
温まってる時に限って精神が安定してるな
243th Perf=2069 1846->1870(+24)
Highestあたりにまた戻して行かないといけないので頑張ります
A - Five Variables
一つづつ判断してもいいがforで回して か判断するのが早そうB - Crane and Turtle
最小が でそこから二本ずつ増やして に出来るので、 は偶数で になっていれば "Yes" と出力できる。C - Forbidden List
値を全探索する。flagとかで使ったやつを管理すればいい と が答えになることがあるということに注意D - Not Divisible
みたいな条件で が で割れることはないので小さい順にソートしておくがそれぞれ の倍数を全て埋めていくと(エラトステネスみたいに)、 が呼び出された時に割り切れるかどうかがわかるので、やっていく。
計算量は調和級数になるので
E - Smart Infants
現在の幼児の位置を管理して、それぞれ一番大きい値を出せるようにすればいいので、 個 multiset を用意してやるとそれぞれの幼稚園で一番大きい値を取り出せる 移動とかも出来るその一番大きい値たちを multiset に入れておくと、小さい値がいつでも取り出せるので この問題を解ける。
F - Pond Skater
普通にエッジ張って幅でやると言っても、使ったマス以降はだいたい使わなくていいので、そこで くらいで行けそうだなってなる。気をつけるべきなのは、異なる方向で進んでいて、同コストになっている者同士は同じように見てはいけない。そのため、方向を持ちながら条件に気をつけてやると、ACする。
なんか見落としがありそうなので、嘘解法なんですかね(知見のある人教えていただけるとありがたいです)
感想
Eまでは順調だったが、Fでかなり時間をかけてしまった。やっぱり実装力が落ちている気がするな。
とはいえ今はAtCoderだなという感じがある(同じこと毎回言ってる気がするが)
引き続き精進したい。