#自己紹介
what_a_messといいます。とりあえず緑を目指して精進中です。投稿時点で灰222ですので、まだまだ浅いと言えると思います。
Qiitaを使い始めたばかりなので、ミスの指摘などどんどんください。
(投稿:2020/9/24)
##はじめに
9月上旬にABC-B埋めというものを見つけて参加した。9/23(9/24未明)に終わった。
順調に全部解けたという訳ではなかったので、備忘録としてここに残しておく。主に、初見では解けず、考え直したりカンニングしたりして解いた問題を挙げる。
###ABC140-B Buffet
やるだけ・・・のはずだったのに、考察が必要なものだと勘違いしてしまったっぽい。
まあ配列3つだし場合分けも必要だし、見た目が厳ついのは否めない。実装は正確にやれば素直。
###ABC030-B 時計盤
実装方法で-360°〜360°をとることに気がつかず、負の値の場合に360°を足すのを忘れていた。absを取らなかったのはえらい。180°前後での場合分けは忘れていなかったので、えらい。()
###ABC035-B ドローン
苦戦①。最大値を合わせるのはx軸y軸?3つに分けて管理すればできるとして、最小値が問題。最小値が0じゃない場合があるのに気づけない。さらに偶奇場合分け...めんどくさい。何とか通した。
###ABC026-B N重丸
cout<<fixed<<setprecisionを忘れてただけ。doubleにintを足すとdoubleで保持してくれるのね、便利。
###ABC051-B Sum of Three Integers
$O(N^3)$だと思ってバグらせていたが、XとYが決まればS-X-Yだけ調べればいいので、$O(N^2)$だった。まだまだだね。
###ABC050-B Contest with Drinks Easy
添字の問題。TにPを入れてもいいけど、XにPを入れないで。意味的にもずれたものになるし。ここのデバッグだけしたら通った。
###ABC097-B Exponential
普通に誤読していて、Xが素数ならそれが答えになると思っていた。問題文の冪乗数をX以下で全探索して、全部priority_queueに突っ込んで終わり。ところで貪欲でよくない?
###ABC125-B Resale
入力はN+1行じゃなくて3行だった...正しく実装すれば大丈夫。
###ABC047-B すぬけ君の塗り絵 2 イージー
苦戦②。縦と横でbool管理して更新、最後に両方白である区間を足していけば答えになると思ったけど、WA2つが取れない。(実装ミスで縦と横を逆にするとWA減るけど、罠です)
他の方の回答コードを参照して、白の長方形の4辺がどこにあるか管理していくようにしてAC。なんでバグるんだ...?
###ABC060-B Choose Integers
Aの倍数を全探索して$10^8$個やっても見つからなければ無理、でよくない?→AC。まあたぶんB個でいいんでしょう。
最初はB*(動かしていく)+Cを動かしていて、どういうわけかif文をバグらせていたので罪深い。何を考えていたのか全くわからない。
###ABC066-B ss
std::substringを使えば「消す」なんて行動に焦点を当てる必要はない。最大値は脳死でpriority_queue(貪欲でいいじゃん:2回目)
###ABC075-B Minesweeper
文字列入力に抵抗を感じていたが、'0'+(int0〜9)で文字列にできるとわかれば何とかなった。端っこはmaxやminをうまく使って、配列エラーが起きないように気をつける。
###ABC108-B Ruined Square
ガウス平面で計算すると、直角二等辺三角形の三頂点は、反時計回りに(a,b),(c,d)(直角),(a+c-d,c+d-a)なので、これを2回やって出力すればOK。数学問っぽい。
###ABC014-B 価格の合計
いいbit問題。これ灰diffなの?と思って見たら茶diffだった。やっぱり。
ABC173-C H and Vと合わせて学ぶとちゃんと身につく感じがする。bitというだけで後回しにしてました。ごめんなさい。
###ABC027-B 島と橋
最初はキツそうだと思ったが考えすぎで、左から人数を合計していって、均等になる人数×島の数に等しくなった時橋は要らないってだけ。そもそも均等にできないならerror(-1)。
#終わりに
Bを瞬時に解けるといいですよね。まあ最初からできてたらこの記事もないでしょうが。
頑張るぞぉ