tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

今までの競技プログラミング歴について・・・

ということで徐々に書いていこうとおもいます。更新を押すと長くなっているかもしれません。

中1:Javaを知る。あんまりコードとかは書いてない。semiexpに会う。いろいろゲームとかを作ってもらう。ぱなっ。数学研究部に入る。
中2:kitayutaとコンピューター部に入る。特に真面目に活動したわけではないが、適当に流れからJavaでゲームを作った、とおもったけどよく考えたら作ってない気がする。
JOI予選というものに初めて出る。過去問は1番とかしか見てなかったので余裕では、とか思ったら1番はぜんぜん問題と呼べるやつじゃなかったらしい。2完して40点とか取って落ちる。何より難しいのは入出力な気がした。ちなみに、JOIを知ったのはlyrically氏が数学研究部でJOIを紹介したからです。
semiexpが本選や合宿に行く。そこでPKUとかを知ってその情報を持ってくる。
中3:ところで、Huziwaraと同じクラスになる。PKUというものを始める。最初の頃はC++なんて知らなかったので全部Java。簡単な問題を解く。この問題集牛がいっぱい出てくるなー位の気持ちで臨む。こっそりPCKというものが存在するという噂を聞く。先輩たちが出るらしい&中学生は参加できないらしい。残念。予選を通過したけどお金がかかるから本選は棄権するんだって。ところでこの年もJOI出る。予選が時間長く伸びる。全探索で10分かかるようなコードを書くが、それで通ってしまう。112点。DP知らなかったし妥当。
んなわけで本選。本選までにはPKUを大体120問くらい解いている。他は一応本選の過去問を。ちなみに、この頃にはもう競技プログラミング以外の普通のプログラミングはやめ始めていました。
本選に出る。競技プログラミング界で有名、とされる人たちに出会う。このときは本当に何もしらなかったので適当。本選は2完は出来そうだけど例年のボーダー見る限り無理かな、という感じに(みんな終了後お通夜フェーズをしていたので実は結構順位よかった。)
結果は44点でなぜか通過。本選1発通過だよやったね!みたいな感じ。どうせこんなんじゃ代表にはなれないだろうと分かっているので2年後(2012)で代表になれる程度にがんばろうということにする。ちなみに合宿に行った中3はsemiexp,Huziwara,tozangezanの三人でした。
合宿。いろいろな人たちに出会う。適当に7日間すごす。すごくIOIとかJOIとか面白そうだね、と言うことを知る。そして今のレベルだと合宿はとても歯が立たないことを知る。まあ合宿16人中どう考えても16位だからしょうがないね。
んなわけで中学を卒業(卒業式は合宿とかぶったので公欠)して高校生に。

高1:もうこの頃には競技プログラミングしかしていなかった。とりあえずPKUをやっていこうということに。TopCoderと言うものを知ったし本選でAOJというものを知ってそれなりに問題を解き始めていたのでそっちも(当時本当にAOJは過疎ジャッジで、参加者もぜんぜんいなかった)。TopCoderも最初は緑から。結構Div2を抜け出すのに時間がかかった。でも灰にはなってないんだよね。
高1の夏はSuperConとJOI夏季セミナーがかぶったのでJOIに出た。あと、化学グランプリに申し込もうとしたら期限がすこしすぎていて諦めであった。
秋になり、PCKに初参加。当時はあんまりプログラミングできなかったしPCKに関しては、サーバーが重過ぎて全く機能していないこと以外文句はなかったです。難しかったのでHuziwaraばっかり問題解いていた。順位低いし。ちなみに9月に青コーダーになりました。Div2で5位だった。
11月の本選にも出ました。なぜか順位すごく高かった。僕前半の1,3,5しかといてないのになー10完か。Huziwaraすごいね〜()2位でした。
12月にJOIの予選が。また。この年は4をすごく下らないバグ(nをn-1と書いた)で20点落とし、結構通過ボーダーやばいのでは?見たいな感じだったけど84点で(ボーダーは72点)何とかなった。結構やばかった。
ちなみに、12月に黄コーダーに初めてなって、ボーダーあたりをうろうろしていました。
んで、本選まで真面目にプログラミングをして、本選の前日のTopCoderで-25点を取ったりしてレートを思い切り下げつつ(色も黄色から青になった)、本選に2回目の参加。さすがに1回通過してるしまた通過できるよねくらいの軽い気持ちで参加。62点でした。また地区表彰に微妙に点数が届かない。orz
合宿までせっかく真面目に問題解こうと思ったのに問題難しくて進まないので結局中途半端に。
3/11に地震があってその後いろいろとやばかったので19~25の合宿はなくなって、延期になりました。別にこの間に合宿の問題を沢山やるとかもしてなかったので今回も代表を諦め。というかsemiexpもqnighyもjapljもいるし枠1つじゃんくらいの気持ちでやっていた。

高2:今年こそ代表になろうということで、軽い気持ちでガチ勢になってみる(笑)。どうせ4位にはなれるでしょくらいでやる。(このときまだhogloidがあんまり強くなかったからね)
APIOが思ったより良くて、銅賞とかを取る。以外。座圧+Dijkstraみたいなことをしただけなのに。
この年はいろいろな大会に参加しました。たとえば化学グランプリ(予選は通ったけど本選は生物とかぶったので辞退)、たとえば生物オリンピック(予選通った。本選も出たけど実験とか中学以来でほとんど経験ないし無理…、とか言ってた割りになぜか銅賞がもらえて代表候補にもなってしまった)
そして忙しかったのは生物オリンピックの広島から直接SuperConで大阪に行ってまたいろいろやったのです。ということでここらへんもいろいろやって(semiexpの解法で)SuperConを優勝して今年はJOI予選適当にやっても通過できるねくらいの気持ちになり、そのままPCKにも出場しました。ところで、夏あたりからhogloidがガチ勢のなかなか強めの人になってきていて、こわいし真面目に自分もやらないとなーみたいな感じになった。hogloidにPKUのAC数を抜かされないようにがんばることにした。
PCKは予選は2位通過。どういう問題だったけ、忘れたけどなんかクソ問だった気がする。PCK2011には良い思い出がない。正直クソゴミコンテストだったような。
秋ごろからPKUを廃人プレイする。そうでもないとhogloidにAC数抜かれる。USACOをどんどん埋めていった。結構良問多くてよい。中間とか期末とかを真面目にやっていたのでそこでhogloidとの差が50以上縮まりかなり心臓に悪い感じだった。途中までHuziwaraもPKUをかなりやっていたが、11/23にhogloidがHuziwaraのAC数を抜かしたときにHuziwaraは「休日に美術館にも行かせてくれないのかよ」とか言ってPKUをやめた気がする。しかし一向にhogloidのペースが衰えないのでかなりPKUやっていた。毎週火曜とか水曜とか12問くらい解いていた気がする。当時はなぜそんなに解ける問題が見つかったのだろう…気がついたら1000ACを越えている。ペースやばすぎ。
PCK本選に出場する。さすがに2回目なのでいろいろ慣れた。しかし問題がひどすぎた。ゴミクズ以下とか言われていたけどあれは正直仕方ないと思う。作問者出てこいや。とか言いつつ優勝してしまいました・w・
んでJOI予選までもずっとPKUをやり続けて、予選。もう確実に本選にはいけるので、6から開くことにした。さらにその問題が解けるまでは他の問題を見てはいけないみたいな縛りにした。120点取れないなら0点と同じみたいな感じでやった。けど6があっさりと解ける問題で(実装は結構長かったが)適当にやったら満点を取ってしまった。まあきゅうりでも満点とれるし。
本選前はもうhogloidとのAC数の差が数十レベルで、正直秋からずっといつでもやめてもよさそうだが、やめたら確実にhogloidに抜かされて代表になれない、という精神状況で無理やり問題解いていた気がする。あんまり能力的に代表になれる気しなかったしなあ。校内3位はもう安定していたからなあ。
本選。適当に夜遅くまで起きて余裕クラスタっぽく見せてみる。1〜4は簡単なので胴でもよくて、5はなかなか難しかったが、UnionFind木でオイラーツアーからLCAみたいなことをするのは分かった。(かなり終了直前に)。がーっと休みなく実装して残り10分くらいのところで組み終わったが、よく考えたらUnionFind木は経路圧縮とかされるから形変わるじゃんってことに気づいてデデドンしていた。終了後にHuziwaraに聞いたらもう1つグラフ持てばいいじゃんといわれ、絶望。確かになあ。
ということで本選は確か430点で銀。hogloidには勝った〜くらいの気持ちで。新宿怖いですね。
合宿まではただひたすらJOI合宿の過去問を埋めることにした。最初のほうはジャッジが出来るまで適当にだらだらコードを書いていたが、ジャッジがしばらくするとできてみんなものすごいペースで問題を解いていたので便乗することにした。期末は捨てた(つもりでいたが、なぜか体育と現代文と古文以外全部10だった、謎)。最初は「Starry Skyとか無理だよね」とか、「Beltとか解けるわけないじゃん」とか、「Dragonは実装がiteration難しすぎて無理」とか、「Territoryはよくわからないから放置」みたいなことをしていたが、次第に50問以上解く人が増えてきて、さすがに全部とかないとまずい感じになっていたので全部解いた。確か3番目に5400点になった。
さて、合宿。ちなみに合宿の2日目(contest day 1)は生物の代表選考とかぶっていましたが、生物は辞退しました。悲しい。けどまったく対策してないから代表になれるわけがないんだよね。Day1はなかなか上手くいって2位。代表1chあるのでは?と思う。Day2は点数低いけど上位陣は皆低かったらしくこのときはまだ累計で2位。(回転神kitayutaとかkyuridenamidaとかmikeCATとかやばすぎた)。Day3はKangaroooooooooでHuziwaraに抜かれる、残念。Day4は妥当に、なのにinvitationがバグが一向に取れないので絶望。なのに50点を変な取り方だが稼げてなんとか合計で3位。そして代表になりました。

高3:
代表になってからモチベーションがさがり、ぐだぐだしています。最近競技プログラミングがどうのこうの以前にほとんどPC起動していないのですが。というか受験が


[参考 PKUのAC数の変遷]

2010/01/24 100AC
????/??/?? 200AC
2011/01/26 300AC
2011/06/23 400AC
2011/07/28 500AC
2011/09/23 600AC
2011/10/10 700AC
2011/11/02 800AC
2011/11/20 900AC
2011/12/20 1000AC
2012/01/25 1100AC


徐々に病んできていたような気もするけどどうだったっけ、結構hogloidのAC数のことしか考えられなかった時代がある。