ABC187 参加記録

ABC187に参加するなどしました。 初の水パフォで緑に手が届きそうです。ホクホクです。

atcoder.jp

A - Large Digits

昔作ったライブラリに、そのものずばり「各桁数字の和を返す」というものがあったのでドンピシャでした。

atcoder.jp

B - Gentle Pairs

普通に傾きを求めながら全探索する。内側のループを外側のループとかぶらせないように注意した。

atcoder.jp

C - 1-SAT

入力を全部setに入れちゃってfor eachで見る。 ある文字列Tについて、! を足したのと足してないやつ両方がsetの中にあるとき、その文字列Tは不満な文字列になる。 言い換えれば、set の中にある文字列に!を足したものもまたsetに入っていたら、その文字列は不満な文字列になる。

文字列集合の中身を順番に見て、!を頭にくっつけてもあったら抜ける。

atcoder.jp

D - Choose Me

青木派と高橋派のABを間違えてて途中混乱してた。

高橋派の演説ゼロの場合は、青木派の有権者の合計が青木派の票になり、高橋派は0票。 ここから高橋派がある街 i で演説をすると、B[i] + A[i] の票を手にして、青木派はA[i] 票失うので、差はA[i] * 2 + B[i] だけ縮まる。 なのでA[i] * 2 + B[i]を全部計算して、大きい順にsort()して貪欲すればOK。

atcoder.jp

E,F問題について

今回は余裕があったので考えたんですが、だめでした。 E問題は、「木、クエリ」というワードからセグ木かなーと考えて、セグ木の勉強をはじめましたが、勉強からやってたら間に合わんだろとおもって諦めました。

コンテスト終了後に流れてきた解説を見たら簡単そうだったので明日やってみたいです。

おわりに、感想

初めて水パフォが解けてホクホクしている。 ただやっぱりE問題がまだ挑戦自体があまりできていなかったので、このあたりを溶けるようにしていきたい。その方が成績伸ばしやすいと思うので…。

地味な収穫としてはセグ木の勉強をしてみようかなという気持ちになったことかな。