さて、競技プログラミングの季節になりました
OIT Advent Calendar 2017
この記事は、 OIT Advent Calendar 2017の7日目の記事です。
簡単に自己紹介
大阪工業大学2回でIS科の者です。 emacsとneovimが好きでVisual Studioも好きだし、sublimeTextも案外嫌いじゃない、ただの浮気者です。 競技プログラミングチームとHxSに所属していて、🔥精進🔥したいなーと思いながらオフツゥンから出られない毎日を送ってます。 最近はwebアプリ作ったり、courseraで機械学習勉強したりしてのんびり過ごしてます。 ナナチかわいい
競技プログラミング #とは
与えられた問題をプログラミングでどれだけ多く、早く、正確に解けるかを競う競技です。 これだけ見たら、「なんかハードル高そうだなぁ...」と思う人がいるかもしれませんが、実際そんなことはなくて弊学で言えばC演習Ⅰが理解できれば大丈夫です。競技プログラミングをするにあたって必要な知識はfor文、while文、if文が使えれば競技プログラミングはできます!やったね!!!
どんな人にオススメ?
パズルとか数学とか好きな人は多分面白くできると思う。 あとは、プログラミング言語勉強したけど使える場所がないとか、単純にプログラミングするのが好きな人も楽しくできると思う。 あと、就活意識してる人もオススメできそう。最近は企業コンテストもあってドワンゴとかコロプラ主催のやつもある。ちなみにこれは上位に入ったら1次面接免除みたいな制度もあるみたい。 自分はパズルとか数学とかは苦手です。単純にプログラミングするのが好きなのでやってます。 いや、競技プログラミングは本当にプログラミング欲を満たしてくれるんですよ...素晴らしい... (だからみんなもやろうな??)
どんな力が身につくの?
自分がやった感想としては、自分の考えてる処理をソースコードにする能力とアルゴリズム力( ほんまか )がついてる気がします。 ( タイピングスピードも心なしか上がった気がする...) 競技プログラミングは色々な問題を解くので、「あ!これ競技プログラミングでやった処理だ!」みたいなことが時々あります。
競技プログラミングのサイトまとめ
AtCoder
日本のプログラミングコンテストサイト。ほぼ週1(土日のどちらかで時間は夜9時から)でコンテストが開かれてるので参加しやすい。 使い方は
を参照してください。初参加の人はAtCoder Beginner Contestに出るといいです。 ちなみにさっき言ってた企業コンテストはこのサイトで行われます。
AizuOnlineJudge
プログラミングの問題が大量にある。上手く使えばプログラミング演習のテスト勉強にもなるし、実力もつくので良い。
まとめ
競技プログラミングを始めよう!!!!!
ICPC2017国内予選参加記
人生2回目のICPC国内予選
odanさん と たいちょーさん と「itokzn」というチームで組んで3完66位でした。
チームの方針はA,B,C問題を一人ずつ解いていって、D問題をみんなで考えるみたいな感じだった。
チルタリスはマスコット(n回目
マスコット
— 🍊mkan🍊残り10AC (@mkan_0141) 2017年7月14日
可愛い(可愛い) pic.twitter.com/420olFIqfX
開始前
私の大学は4限の授業終了時間が4:30分というICPCに厳しい時間割なので、先生に事情を話し授業の途中で抜け出しました。(先生優しかったのでよかった
その後食料を調達し、チームの方が集まっている研究室に突撃。
始まるまでは、「この団体名どうする?」とか「チームで共有できるライブラリ欲しいよねー」みたいな話をしてた。
---コンテスト開始---
A問題
たいちょーさんがすんなりと通す。
全探索するだけみたいな感じだったらしい。
B問題
B問題は自分が担当。
A問題が解き終わるくらいに大体の問題が概要が理解できたけど、実装するのが難しそうだったので相談。実装方法を教えてもらい、とりあえず書いてみるがsampleで撃沈。
ソースコードを印刷してC問題担当のodanさんに交代する。
sampleが通らない理由はすぐにわかって、文字列定数の意味をちゃんと理解できていなかった...
PCを代わってもらい、ちゃっちゃと直してsampleが通ったので投げたら通る。
人生初ICPCでACできたので非常に嬉しい!(けど提出した時赤字でAccept的なの出てきたから焦った。赤文字は間違っているというイメージが強かったので...)
C問題
実装辛そうでsampleが通らなかったみたいだが、すぐに修正してACした。
odanさんの「これだから人間の書いたプログラムは...」という発言に爆笑してた。
この時点で1時間ちょっとだったのでチーム的にはいいペースだった。
D問題
最小費用流かDPかみたいな話をしていてDPだと厳しそうという結論に至り最小費用流で解くことを決める。自分がライブラリを写している間に、二人がいろいろ考察していたが、sampleが通らず時間切れ。
感想
自分が担当したB問題がバグらせなければもう少し順位が上がっていたと思うので、もっと実装力つけたい。
D問題の考察に参加できなかったのは完全に実力不足。やっぱり蟻本は中級編くらいまで読んで理解しておかないとなぁという気持ちになった。
来年は自分がD問題解いてやるぞくらいの勢いで精進していきます!
来年は4完して本戦に出るぞー!
立命館大学競技プログラミング合宿2017 参加記
合宿の写真があまりないので悪しからず...
大学到着まで
湖西線トラップに引っかかりそうだったが、大阪駅から南草津まで一本でいけたのでなんとか駅にたどり着けた。
南草津からはodanさんと冷雨さんと合流して大学まで行った。
人生初立命館大学だったけど、これは広すぎて迷子になりそう笑
いったい自分のところの何倍の敷地面積だよとかこれが大学かとか思ったり思わなかったり
1日目
自分は、btkさんとgachoさんとBGMというチームで参加。
自分はA問題を担当。しかし、解法が自信なかったのでbtkさんに質問し解法を教えてもらい、書く。提出→AC
初オンサイトだったので風船もらえた時は感動した。
ここから先はbtkさんとgachoさんが解いて、自分は座るだけみたいな感じでした。(申し訳ない)
btkさんが解いている間にgachoさんから最小費用流について教わった。優しい。
コンテスト終了後スポンサーセッション
kenkooooさんの話が面白い笑
競プロを生かせる仕事の一例を聞けてためになった。
コンテスト終了後、懇親会へ
しかし、周りに知り合いがなかったので、キョドっているとnoyさんが声をかけてくれて色々話した。
その後、c7c7さんとつたじろうさんと色々話しながら、c7c7さんとキャベツを食べまくってた。c7c7さんのキャベツ摂取量まじやばい
懇親会終了後ホテルへ
泊まったホテルはアーバンホテル南草津で部屋が綺麗で良かった。
宿泊はアーバンホテル南草津がおすすめ!
二日目
NCAさんとyebityonさんでGumikanstarというチームで参加。
A問題担当し、見事戦犯になる。
自分がA問題を悩んでいる間に、二人がB,C,EをACして(この間にもA問題手伝ってもらっていた)A問題を手伝ってもらう。全探索してみるもWA.。解説を聞くとあぁなるほどなって。
コンテスト終了後懇親会(魚民)へ
この日の懇親会費はRCOさんが出してくれた(ありがとうRCO!)
yazatenさん、pulmnさん、kzyKTさん、NCAさんと相席でプロが集まった感じだった。
来年は酒飲める年齢なので、もし来年も魚民なら青汁サワー飲んでみたいなぁ
三日目
三日目は怒髪さんとこんぶさんとtemmie というチームで参加。
自分は怒髪さんに教えてもらいながらAとC問題を解く。プロだった。
それ以降解ける問題がなかったので、あとは座るだけでした。(申し訳ないです)
合宿終了後
帰りに、naimononさんと色々喋り、一緒ににぼ二郎に行くことに
にぼ二郎めっちゃ美味しかった。(NCAさんが懇親会後でも行きたいって言っていた気持ちわかる)
うますぎ pic.twitter.com/B2U224Q7eh
— mkan🍊 (@mkan_0141) 2017年3月24日
感想
初めてのオンサイトで、知らない人だらけで緊張していたけど、みなさんすごく優しかったのですぐに馴染めました。現段階では実力、知識不足でほとんど問題が解けなかったり、考察に参加できなかったりしていたので、もっと実力をつけなければいけないなと感じました。脱戦犯!!
ブログ始めました
ブログ始めました。
内容は競プロ関連やただの日記みたいになると思います。