えびちゃんの日記

えびちゃん(競プロ)の日記です。

Codeforces で紫になりました

えびちゃんも紫になりました. ところで「葡萄色」と書いて「えびいろ」と読みます.

紫になるまでやったこと

近々 AtCoder で黄色になる予定なので,普段やっていたことなどはそのときのブログに書きます.

本番中にやったことは hack です.+4 しました. Div. 2 の本質は hack!(素振り)(前に誰かがたぶん言ってた)

えびちゃんの Codeforces での立ち回りはだいたい次のような感じです:

  • 最初の数問を詰まるまで解く
  • 詰まったら残りの問題をとりあえず読む
  • わかるのがなくなったら hack して遊ぶ

最初に解いている間にコーナーケースについて考えておき,それが pretest では落ちないことを祈っておきます.

hack するときのどきどき感ってやばくないですか? えびちゃんはいつもどきどきしています.

コンテストが終わって system test が始まったら,自分のコードが落ちないことを祈りつつ status を眺めて終了です.

コーナーケースについて

典型的ですが,オーバーフローなどはわりとやらかしがちなので注意します.

「この条件が成り立つときは自明に No などを出力して終了」のようなコードを書くときに,オーバーフローが起きないか注意しましょう. \(n^2 > k\) とか \(2^n > k\) などは怖いですね.

codeforces.com

前者の場合でも \(n \le 10^{10}\) などでは 64-bit で計算すると落ちますし,後者は言わずもがなですね. pow を使って 2 のべき乗を計算して long long の変数に入れるコードも同様に落ちます.気をつけましょう.

1 << xx がビット幅より大きい場合未定義動作となります. どうやら需要があるらしいのでこの辺の C++ の話も別の機会にちゃんとまとめるつもりです.

おわり

色が変わった後はにやにやしながら自分の名前を眺めがち.