投稿

ABC122

イメージ
に参加したので日記としてつける。または備忘録。 気が付いたらコンテストが始まっていて、15分以上遅れて参加。まぁいつものことなのでいいのかな。最近はメールが届くようになったけど今回は来なかったのもある。 以下感想を述べる。 A - Double Helix A問題らしい感じで、swich文で書いた。scanfとprintfを書き間違えていてこれまた間違い探しに手間取った。こういうことはないようにしたい。 https://atcoder.jp/contests/abc122/submissions/4692972 B - ATCoder 頭から順番に見て行ってATGC以外が出てきたらカウントをやめ、カウントの最大値を出力した。こういうシンプルな問題はまだ解ける。 https://atcoder.jp/contests/abc122/submissions/4695844 C - GeT AC ここから時間内には解けなかった。 コンテスト中に作ったのは愚直に  l  から  r までのACの数を数え挙げていた。それではTLEするのも あたりまえである。 コンテストが終わってから i 番目までの個数を f(i) として f(r) - f(l) とすればよかったことに気が付いた。こういう発想を積み上げていくのが経験値、もしくはセンス。 D - We Like AGC これは問題は読んだがコードを書いてみることすらしなかった。もう少しがんばりたい。 感想 C問題をせめて安定して解答できるようにならないといけない。過去問を解く、のも1つの手立てである。春からまた参加できる機会が少なくなるので、久しぶりだから解けなかった、みたいな下手な言い訳はしたくない。 あとこのブログを書いてるのはコンテストの一週間後で、別のコンテストに参加して解くのを諦めた後に書いているものである。まだまだではあるがモチベーションは保てているので良しとする。 今回の順位は2378位だった。 レート もほぼ変化せず。C取れてたら少しは上がっていたと思う。 このブログが自分に忘れ去られないことを祈って。では。

ABC121

イメージ
AtCoder Beginner Contest 121 にエントリーした。この時同時にグラブルの生放送をしていたのでこれを見ながら問題を解いていた。それぞれの問題の感想とかをメモしたり、次までにやっておくべきことを決めたりしたい。全部C言語で挑戦した。 A - White Cells A問題らしくシンプルな問題だった。流石にこれはできた。 B - Can you solve this? これも難しい問題ではなかった。多項式に当てはめてから条件を満たせば結果に返す変数をインクリメントした。最後の出力部を printf じゃなくて scanf にしていて、何故か気づけずめちゃくちゃ時間を食った。生放送を見ていたせいにしておきたい。 C - Energy Drink Collector この問題から解けなかった。価格が低い順にドリンクを買っていけばいいのは分かるんだけど、Cで値段と数量を紐づけしたままソートする方法が思いつかなかった。 この時やる気があればネットで頑張って調べたりするんだけど、この時はそういう気分でもなかった。じゃあ次からどういう対策取ればいいのかというと、こういうときのためにコードを作って貯めておくか、C++も使えるようにならないとなと思う。 他の人のコードを見てみた。 こういう時は構造体にして、qsort 関数に使う評価関数が値段を参照すればいいらしい。 こういうのはやはり発想が足りない。 D - XOR World 解説を読んでなんとなく解き方は理解したけど、実装方法がいまいち理解できていない。 特に10進2進変換とか、XOR処理のところとかがいまいちどうすればいいのか分からない。こうなったらとりあえず他の人のコードを読むことに限るね。 ...めちゃくちゃ簡単な話だったらしい。Cでビット演算処理を全くしたことがなかったのでビット演算子を知らなかった。そういえばよく右ビットシフトとかを使っている人を見かけていた気がする。あと問題文をしっかり読んでいなくて、2進数で表示するのかと思っていた。 ビット演算しても2進10進変換とは別なのが良い。最近アセンブリ言語で毒されたので高級言語に帰ってこないといけないなと思った。 さいごに 今回の結果は2770位だっ