JAG 国内模擬 2015 練習記
前回はこちら
結果
A, B
ぼくがすぐに書いた。AはFA相当っぽい。ABのペナも最小?さすがに仕事をした。
D
Cの実装が詰まっているようで、1時間50分ぐらいかかってDを荻野が通した。ややバグに見舞われたみたいだけど 多分実装量を考えるとだいぶ早くミスに気づいたほうなんじゃないかな。ぼくとしては大変満足
E
Dを通して5分後ぐらいにEのデバッグが完了してEが通る。グローバル変数を各ケースごとに初期化するんだけど初期化する位置が間違っていた。 やっぱりローカル変数を使うべき
良かった点
A, Bを早く通せてペナを抑えられたのは良かった。通した問題に関してはノーペナだったのはえらい。
改善点
- さすがにfunction<void(int, int)>みたいなやつそこまで遅くないので、グローバル変数は本当に使わないほうがよさそう。
- 序盤の問題の実装を待ち時間に詰めるのは本当に大事。queueが溜まりやすいので、解法が一瞬で浮かんでもめんどそうなところを事前に書き出したり擬似コードをメモしておくのは本当に重要。queueを詰まらせない!!!
- 制約が小さい問題はシミュレーションを愚直に実装するのが楽。たとえば、各ターンごとの動きを
vector<vector<int>>
を書き換えるのではなく新しいvector<vector<int>>
を生成するほうが楽だったりするし、デバッグもしやすい。定数倍高速化とかメモリとか考えるのは二の次。そもそも実装が重いのでいかに楽なコードを書くかが本質
queueに詰まった時点で実装をぼくに回したほうがいいかもしれない。けんしんと荻野にhogeみたいなところで頭を使わせたくない
さいごに
ABDEという組み合わせ、本番じゃ0チームっぽい。さすがに異常すぎた