ねーねー,えびちゃんも紫になった! pic.twitter.com/GcA1cRnva1
— えびちゃん (@rsk0315_h4x) July 30, 2019
えびちゃんも紫になりました. ところで「葡萄色」と書いて「えびいろ」と読みます.
紫になるまでやったこと
近々 AtCoder で黄色になる予定なので,普段やっていたことなどはそのときのブログに書きます.
本番中にやったことは hack です.+4
しました.
Div. 2 の本質は hack!(素振り)(前に誰かがたぶん言ってた)
えびちゃんの Codeforces での立ち回りはだいたい次のような感じです:
- 最初の数問を詰まるまで解く
- 詰まったら残りの問題をとりあえず読む
- わかるのがなくなったら hack して遊ぶ
最初に解いている間にコーナーケースについて考えておき,それが pretest では落ちないことを祈っておきます.
hack するときのどきどき感ってやばくないですか? えびちゃんはいつもどきどきしています.
コンテストが終わって system test が始まったら,自分のコードが落ちないことを祈りつつ status を眺めて終了です.
コーナーケースについて
典型的ですが,オーバーフローなどはわりとやらかしがちなので注意します.
「この条件が成り立つときは自明に No
などを出力して終了」のようなコードを書くときに,オーバーフローが起きないか注意しましょう.
\(n^2 > k\) とか \(2^n > k\) などは怖いですね.
前者の場合でも \(n \le 10^{10}\) などでは 64-bit で計算すると落ちますし,後者は言わずもがなですね.
pow
を使って 2 のべき乗を計算して long long
の変数に入れるコードも同様に落ちます.気をつけましょう.
1 << x
は x
がビット幅より大きい場合未定義動作となります.
どうやら需要があるらしいのでこの辺の C++ の話も別の機会にちゃんとまとめるつもりです.
おわり
色が変わった後はにやにやしながら自分の名前を眺めがち.