藍橋カップに参加した話

この記事は、 大阪工業大学 Advent Calendar 2020の5日目の記事です。

去年から日本で開催されたばかりであまり知名度は高くないかもしれませんが、藍橋カップと呼ばれるプロコンがあります。

今年は藍橋カップの予選が9月頃に開催され、私はそれに参加して2等賞を取りました(ちなみに一番上は1等賞、優秀賞はなぜか3等賞より下で直観に反している...)。

本来は予選と決勝で2回コンテストが行われる予定でしたが、コロナの影響で決勝は中止になり、予選だけになりました(悲しい)。

というわけで、予選で上位を取った人で表彰式が行われることになりました。

場所は案内によると 兵庫県立大学情報科学研究棟1階コモンズスペース とだけあり、住所が書いてありませんでした。

「情報」ってついてるし情報科学キャンパス(三宮の近く)に行けばいいやと思っていたら、 実は学園都市キャンパス(神戸の西の方)で、会場WAからの数十分ペナ(物理)で表彰式TLEするところでした。危なかった。

f:id:choco_late3:20201205231728j:plain いい景色。

表彰式の方ですが、事前に私が運営に「表彰式は行けたら行きます(意訳)」と伝えていたので、 運営が私が会場に来ることを想定していなかったようでした。

なので、私の表彰状だけ大学に郵送されており、表彰式ではエア表彰状を受け取って終わりました。


[ここに表彰状の写真を入れてドヤる予定だった。。。]

それ以外で大きな問題が起きることなく終わり、表彰式の後は某レッドコーダーの講演を聞いたり、兵庫県立大学の方と交流したり、きくちさんと鍋を食べたりして帰りました。

OITでは藍橋カップで上位に入ると学長から表彰されるらしい*1ので、 ぜひ参加してみてはどうでしょうか。

*1:去年はあったけど今年はどうなるだろう...

cpsco2019参加記

atnd.org

ノリと勢いで参加しました!

来年もあったら参加したいと思うほど楽しかった٩( 'ω' )و

day1

Session1はしいさんおさしみさんで組みました。

おさしみさんがA、しいさんがBCD、ぼくがEを解いて5完でした。 チーム戦だと自分で詰めきれない部分をチームメンバーが助けてくれることがあって楽しいです。

day2

Session2はチーム全員が初心者ということでチーム名をbeignnerにしました。Dまでは順調に解いていきましたがE以降は何も分からず椅子を温めました(ア


Session3はきくちさんくりぼさんで参加しました。くりぼさんがAB,きくちさんがC,ぼくがDEを解きました。 きくちさんが最後まで粘って考察していてすごかった...



懇親会

会場で話せなかった人とも話すことができて良かったです!ただ時間が足りなくて全員と話すことはできなかった...

感想

RUPC2019参加記

RUPCという立命館大学で行われている競プロイベントに参加しました。

atnd.org

DAY 1

会場に入る前にみかんさんと立命館の学食をいただきました。

会場入り

自己紹介フェーズが終わった後はチーム編成ですが、事前にきくちさんとホスフィンさんとでチームを組んでいたので待機してました。

猫耳を着ける予定だったのでチーム名がnekomimiなんですが、事故で猫耳が着けられませんでした。悲しみ

コンテスト

  • ホスフィンさんがAを解く
  • きくちさんがBを解く
  • ぼくはCを考えていたもののよく分からなかったのでDを考える
  • ホスフィンさんときくちさんがCを解いてEを考察する
  • Eの考察が終わったらしく、ぼくがEの実装をする
  • WAが出る。3人でデバッグするも時間切れ

ABCの3完でした。ぼくはDの考察とEの実装を担当しました(ひゃっ(何も貢献できてない(申し訳ない!!!

言い訳

DAY 2

2日目はひらひーらぎさんとこうきさんと組みました。

コンテスト

  • こうきさんがAを解く
  • ぼくがCを解く
  • ひらひーらぎさんがBを解く
  • 順位表を見るとEとGが解かれていたので、EとGを考察する
  • GがNimっぽいなぁとなるがWA連発
  • ひらひーらぎさんがEはダイクストラやればいけそうとのことだったので、ぼくがEの実装をする
  • Eが通ったのでGの考察をする
  • テストケースをいっぱい作ってその勝敗を眺めた結果、解法をエスパーすることに成功する
  • Gが通る

ABCEGの5完でした。

↓これすごい

DAY 3

3日目はtubuannさんとはりぼてさんと組みました。

コンテスト

  • はりぼてさんがAを解く
  • ぼくがCを解く
  • tubuannさんがBを解く
  • Dを考察して、解法をはりぼてさんに伝えて実装してもらう
  • よく分からないバグが発生し、もう一度実装しなおしたら通る
  • その間にtubuannさんがEとFを考察する。tubuannさんによるとEはbeetさんのいるチームが30分で通していたのでライブラリを貼ると通るらしい。ぼく「なるほど」
  • tubuannさんがEを通す

ABCDEの5完でした。

感想

去年は座るだけの人だったので問題が解けるようになっていて嬉しかった!

コンテストの問題文もRUPCに参加している方々も面白かったです!!

懇親会とかで話しかけに行けなかった人がいたのでコミュ力上げたい...

AtCoderで青色になった話

f:id:choco_late3:20190116175514p:plain 去年最後のコンテストで青になりました!!

競プロを始めた頃は数学もプログラミングもダメダメだったので青色になるなんて考えもしなかったのですが、ゆるく続けている内にレートも上がり続けて、気がついたらこのブログを書いています。

青になるまでやってきたことをまとめると次の2つです。

過去問を解く

AtCoderの問題を900問ぐらい埋めました。 900問は多そうに見えますが、実は簡単な問題ばっかり解いています(えー

AtCoder ProblemsAtCoder Scoresのデータを見ると以下の通りでした。

f:id:choco_late3:20190120220717p:plain f:id:choco_late3:20190120220730p:plain f:id:choco_late3:20190120220801p:plain

過去問に挑戦するときは、まず初めに10分考えて、方針が掴めたらもうちょっと考えて、何も分からなかったら諦めて解説を見たりブログを読んだりしました。それでも分からなかったら、ACしているソースコードを写しながらどういう動きをしているか考えました。

こんな感じで一日に1~2問のペースでACしていました。

アルゴリズムの勉強

勉強の仕方は色々あると思いますが、自分は蟻本を読んだり、TwitterのTLで見かけたアルゴリズムを検索して、ブログを読んで調べたりしました。蟻本の内容が途中から自分には難しかったので、分からなかったところはネットの力を借りて勉強しました。

自分がAtCoderでよく使ったことがあるアルゴリズムは、だいたい

こんな感じだったと思います。

次の目標

ここまできたら、次は黄色を目指していきたいです。レートの上がり具合や地頭を考えると黄色は絶望的ですが...

それと、競プロを楽しむ気持ちを忘れずに続けていきたいです。

ACM-ICPC 2018 Asia Yokohama Regional 参加記

この記事は、 OIT Advent Calendar 2018の13日目の記事です。

予選落ちな予定でしたが、繰り上げにより突如参加することになったチームodan(chocobo, mkan, hm05)です。

弊学がアジア予選に出るのは3年ぶりとのことで、予選通過のメールを見たときは泣きかけました。

1日目

新幹線でチームメンバーと合流しつつ、中華街に寄り道しつつ会場に着きました。

ちょっと休憩していたら開会式が始まりました。 が、英語が全く分からないので、ジョークで会場が笑っている場面では満面の笑みを浮かべるだけで終わりました。

リハーサルでは特に問題も起きず順調に進みました。 問題をACしたときに風船が届くシステムが衝撃的でした。

リハーサルが終わったら、odanさんとodanメンバーで中華の食べ放題に行きました(ここでチーム名の承諾を得る)。 その後、赤レンガ倉庫に行きました。

2日目

無事起床に成功し会場へ。

コンテスト前に、ICPC国内予選で着ていた予選突破の願いが込められた服(?)を着るようにチームメンバーから言われたり言われなかったりしたのですが、流石にまずいと思い、今回は狐耳を着けました。

コンテスト

  • 初めに問題文の読解でA問題をhm05さん、B問題をmkanさん、C問題を自分が担当
  • Aは実装が面倒だけど出来そうとのことで、hm05さんがAを実装している間、mkanさんと自分でBとCを考察。
  • BはO(n3)しか思い浮かばず、Cはシミュレーションでやってみることに。
  • AをAC。mkanさんがBを実装。
  • TLEする。Bは置いといて自分がCの実装に。
  • サンプルが合わず長時間デバッグ。hm05さんの指摘で実は問題の入力の仕様を勘違いしていたのが原因だと分かり、サンプルが合ったので提出。
  • TLE。もしかしたらと思いシミュレーションではなくDPを実装してみたらAC。
  • Bが何も分からず、枝狩りO(n3)を提出したりO(n2logn)を 提出したりするもTLE。
  • hm05さんが109個のbool配列を用意し、愚直O(n3)を投げたところAC。
  • 残り1時間で、残りの問題をとりあえず読んだり、順位表を眺めたりしてG問題の考察を始める。
  • 「BITを使いそう」まで考察を進んだところで、時間がもう足りないということでrand()を出力するプログラムを終了5分前に投げてコンテスト終了

というわけで、ABCの3完でした。

コンテスト終了後はスポンサーさんの挨拶とコンテストの解説(日本語でも理解できるか怪しいところなのですが英語なので何も分からなかった)とYes/Noおじさん(と言われている)の順位表発表でワイワイしました。

懇親会

チームメンバーと共に企業さんのブースを一周する旅をしました。 会社についてお話をさせてもらったり、ステッカーや同人誌、キーボードのキーなど色々もらったりしました。企業さんの方からインターンに来てくださいと言われたとき、競プロerの力に企業さんが目をつけているんだなあと思って、すごい世界だと感じました(自分はすごくないためア)。

懇親会のあとは小籠包を食べました。

3日目

P社 → L社 → I社 と企業見学に行きました。falさんと碧黴さんが同じグループだったので何度か会話しつつ巡ってました。見学の詳しいことは企業秘密で言えないのですが、どのオフィスも魅力的で、将来はこんなところで働きたいなあと思いました。

企業見学後はラーメン

最後に

CODE THANKS FESTIVAL 2018 参加記

前日

ちょっとだけ観光しようかなと思ったけどドワンゴのコンテストがあったのでそのままホテルへ

コンテスト前

そわそわーっとしてました



そこでちょくだいさんが


その後

手に入れるチャンスが一生無さそうだなーと思ってたのでとても嬉しかったです。Yay!

生のちょくだいさんが新鮮でした。

コンテスト直前

パーカーを得るための条件とは...

(ここでパーカーを断念する)

コンテスト

A - Two Problems

ここはパパッと

B - Colored Balls

200点 #とは

パッと解法が思いつかず、CとDを解いた後に手をつけました。

二分探索しようとして2WAした後、ループが間に合うんじゃない???とO(x/3)を提出したら通りました。10^9  /  3はセーフなんですね...

C - Pair Distance

ソートして累積和とっていい感じに

D - Concatenation

貪欲の空気を感じ取ったので

E〜




f:id:choco_late3:20181126162407p:plain

結果

4完85位でした。

f:id:choco_late3:20181126171609p:plain

DPが出来るようになりたい...

懇親会

コネクションビンゴという自分の尊敬してる競プロerや好きなアルゴリズムが同じ人を探すイベントがありました。

ビンゴが終わるまでは話のネタにできたりしたので良いイベントでした。

あとはTwitterかイベントかで見たことのある人をひたすら探していました。何人かはお会いできて良かったのですが、会えなかった人もいて残念というお気持ち。

かわいい名刺もいただきました。

感想(?)

来年も出たい!

パーカー欲しい!!!

初めてのCSSアニメーション

大した作品ではないですが、一区切りついたので何かしら書いておきたいと思います。

完成品

ソースコード

github.com

作ったきっかけ

yui540さんkaitoさん がすごいcssアニメーションを作ってたのを見て、自分も作ってみたいと思いました。

感想

cssもhtmlも触ったことが無かったので、少しずつ勉強を進めていきながらアニメーションを作っていきました。

・最初は思い通りに動くアニメーションがなかなか作れませんでしたが、何度も試行錯誤してるうちにちょっとずつ出来るようになっていったのは嬉しかった!

・今回はゆっくりめのcssアニメーションを意識してみたりした。ただこれがすごいと思わせるような動きをさせようと思うとめちゃくちゃ難しい...

・部内コンで出してみたら思った以上に高評価でLT部門1位をいただいて驚きました。 ちなみに得た景品は...