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位をいただいて驚きました。 ちなみに得た景品は...

git challenge #9 参加記

9月8日に開催された git challenge に参加しました!

git challenge とは

git challenge というのは、gitに関連した問題が複数出されるので、2人1組のチームで時間内に多くの問題を解決する大会です。

応募

普段gitをゴリゴリ使うことはなかったので、なんとなく落ちそう...みたいなことを考えていました。しかし運良く抽選に当たったので、嬉しすぎるあまり喜びの舞を踊っていました。(感謝)

前日

git challengeのslackに招待されたのでjoinしました。 slackのメンバーの中には知ってる猛者がたくさんいて、 「ほぇ〜〜」というお気持ちと「すごいイベントだなぁ〜」というお気持ちになりました。

あとはgitチートシートを眺めたりした。

当日

方向音痴なので、迷いながらなんとか到着しました。 f:id:choco_late3:20180912233240j:plain

会場に着いた後は、チームでペアになった人や社員の人と美味しいご飯を食べながら話をして、その後にgit challengeのチュートリアルを行いました。

本番

ぼくは1問目の方から解いて、ペアの方が難しい問題から解く方針で競技を始めました。 ペアの人がつよつよだったので何度か質問したり、いろいろggったりして問題を解いていきました。

途中で、下のリセットボタンを連打して運営を困らせる遊びをしました。(良い子はマネしちゃダメです)

結果は4~5位でした。ぼくがもう少し活躍できてれば...orz

懇親会

ご飯を食べながら、いろんな人とお話をしました。 特に社員さんとのお話が印象的で、コント(?)を披露してくださり、そのコントの内容が「ウチの職場は†アットホームな(自主規制)」という感じでセンスがありとても面白いものでした。

感想とか

gitの知識をたくさん吸収できたり、美味しいご飯を食べれたり、学生さんや社員さんとお話が出来てとても楽しかったです。1回だけしか参加出来ないのが本当に残念...

また、チームでペアだった、足を引っ張っても許してくれた プリキュアさん、本当にありがとうございました!!

最後に、社員さんとのお話で「git challengeを通じてgitについて興味を持ってくれると嬉しい」と仰られていたので、このブログを見てまだ参加してない人はぜひ参加してみて欲しいと思います。