N_haraのブログ

主に競技プログラミングの話を書きます(多分)

日経コン(第二回全国統一プログラミング王決定戦) 参加記

競技プログラミング界隈で、参加したコンテストについての感想や反省をまとめた「参加記」を書く人を多々見かけるので初オンサイト記念に自分も書いてみようと思います。(そもそもブログを書いたことがないのでところどころ駄文が見受けられる場合ががあります。それでもいい、という心の広い方のみお付き合いください。)

 

初オンサイトまでのいきさつ

1.11/09(土)に開かれた予選に参加した。

2.問題を解いていったら、なぜか700点問題を通した。

3.予選(国内)229位→繰り下げの続いた結果ギリギリで出場。

 

こういう感じにすると書くことがなくなるので、少しだけ予選(の問題)について。

A(100),B(300)はいつも通りくらいのペースで通して、残った問題は

C(600),D(600),E(700),F(1400)(残り100分程度)

この中で1問解ければいいやー、と考えた結果、

Fは論外(解けない)→Dはグラフ、得意じゃない→Cは解けそうなのにACできない

→E(消去法)。

(Eは見たところアルゴリズムの知識は必要そうではなくて、数学の要領でごり押せるとふんだのもある)

数値の選択方法を色々いじって(ついでに4WA出して)みるとできそうな方法がみつかり、無事AC。

コンテスト内外合わせても700通したことはなかったので、ほんとに鳥肌立ちました。びっくり。

こうして無事に初オンサイト出場。

 

本戦

 本戦は会場独特な雰囲気?的なものがあってか緊張しまくり、タイプミスがそこそこ出る(普段は出ないとは言ってない)。

A(200)は最初に(i,j)のペアと(j,k)のペアを求めようと考えていたが、実装がうまく形にできず断念。その直後jを固定して(iの候補数)×(jの候補数)を数えて行けばよいことに気づく。

B(300)は方針がぱっと思いつかず考え込んでいたが、S2とS6をまず固定してS3S4S5の形がとれるかという方法ならいけるのでは、と思い実装。実行時間が危なめだけど通った。

D以降が800以上でしんどそうなのでC(600)に取りかかる。いろいろと試行錯誤するも

計算量がO(min(H,W)×HW)程度までしか落とせず、ここで終了。

 

結果は48分2完で170位でした。とりあえず大半の人が取れた問題はこぼさなかった、ということで一安心。(レート順位が199位/200人中なので変な気負いはなかった、緊張はしたけど)

 

懇親会

表彰式も終わり懇親会スタート。スタート時点で知り合い0の状態でどうしようかな、と思っていたが勇気を振り絞っていろいろな人に声をかけてみる。最終的に十数人くらいとは話せたので大満足。とても楽しかった。(とある方に「名刺あるといいかも」といわれ持って行ったのもよかった(結構好評だった)。アドバイスありがとうございます。)

 

結論

オンサイト、最高!!!

(1/25のDDCC本戦にも出られることになりました、対戦よろしくお願いします)