TopCoder SRM 428 DIV1

21:00から。この時間帯は一番参加しやすいはずなのになぜか調子が悪いときが多い。

日本人の参加者が過去最高、89人。来年の前半には100人突破もあるか。

Coding Phase

250点問題
C++の人なら「next_permutationで一発やん」というところだが、Javaにはそんな便利な関数は無いのでせっせと作る。で、何かを新しく作る場合の常として、ぽこぽことバグが出てきたので提出までにすごく時間がかかってしまった。しゅん。
500点問題
最大10億なので単純に計算してたら終わらない。式をいじっていくと繰り返し構造が出てくるので、再帰に落として2の累乗のところだけ計算することで、O(log n)でいけないかなーとごそごそやってたら時間切れ。なんとなく方針は見えてるんだけど、解ききるところまでいかない。

Challenge Phase

とくになし。

System-Testing Phase

とくになし。なんかテストが進むのにいつもより時間がかかってた気がする。

結果

Level Status Coding Time Score
250 Passed System Test 27:33 149.44
500 Compiled 47:14 0.0
1000 UnOpened - 0.0

チャレンジなし

スコア 149.44 / 624人中476位 / レーティング 1605→1527


自前ライブラリを整備していなかったのが敗因です。それなりに短い時間でnext_permutationの自前実装を作れたので、コーディングの練習としては役に立ったけど…。やっぱりこの時間帯は相性がわるい。
500点問題はもう少しいろんな問題に慣れていくと、問題読んだ時点でパターンが見通せて、すぐコーディングにかかれるようになれそうだという感触はある。練習しないとなー。なかなかこれだけに時間はとれないが。