yukicoderでwriterをした話

初writer記念に。

 

あらすじ

yukicoder contest 208 - yukicoder のwriterをしました。200人近くが参加してくれました。嬉しかったです。

以下は9割自分語りなので興味のある人だけ読んでください。

コンテスト前

3/7

 RUPCでいろんな大学の問題を解いて僕もジャッジやりたい気持ちになる。Twitterで何人かyukicoderに問題投げてる人を見て自分も問題が生えたらやってみることにする。

3/10

 TLを見てたらD問題が生える。作問のネックとしてテストケースづくりがあるんだけど、Dは入力が定数個、数え上げだからコーナーケースも少ない、あたりの理由ですごく気持ち的に楽だったので書いてみる。yukicoderはかなり環境も整っていてわりと簡単につくれて感動する。

3/13-14

 また数え上げが生える(E問題)、作問能力が偏りすぎてませんか。これ逆に全問数え上げのコンテスト作ったら面白くない?面白いねってことであと3問気合いで揃える。へのこーどがテスターを引き受けてくれたのでABCEを完成させる。ありがとうへのくん。

 yukicoderのTwitterにDMで連絡をとった結果なんやかんやでいきなり17日に開催することが決定。yukicoderさん対応が神すぎる。

 

コンテスト当日

 個人的には1時間持ってほしかったんですがhosさんに阻止されました。その後も赤や橙に続々と全完されるんですが赤コーダーに解いていただけるのかなり嬉しい。

 最終的には約180人が参加してくれて、コンテスト後の評判も観測範囲では良問とか教育的とか言ってもらえていてかなりよかった気がする。嬉しいね。翌日以降も時々みるとAC人数が増えていたり解説ブログが上がっていたりでほくほく。

各問題について

ネタバレしまくるのでまだ解いていなくて見たくない人は飛ばしてください。

A問題

リンク: No.799 赤黒かーどげぇむ - yukicoder

☆1の数え上げで思いつくのがこれくらいしかなかった。writer解はO(1)だったんですが素直に2重ループするのがいいと思います。

ちなみに問題タイトルの元ネタはこれです。

 

B問題

リンク: No.800 四平方定理 - yukicoder

もともと先に用意できていたD問題からの流れでタイトルが「だいたい直角三角形」で、「zz-D < xx + yy <= zz+D」みたいな設定の問題を考えていたんですが、ちょっと簡単すぎるかなぁということで変数を1個足してみたらめちゃくちゃ教育的な問題に化けました。

 C++のO(N^3)の定数倍高速化がバカみたいに早かったので制約を厳しめにしたらmapとかを使ったO(N^2logN)がバタバタと倒れていってちょっと申し訳ない感じになってしまいました。10^7個くらいの配列は普通に持てるので持ってください。

 Bに置くにしては難しかったかなぁというのは反省しています。

 

C問題

リンク: No.801 エレベーター - yukicoder

これはだいぶ前に生えて温めていた問題。実際に高層ビルのエレベーターを見ていたら疑問に思ったのでそのまま問題にしました。累積和といもす法を1問で両方使うの面白くないですか?と思ってたんですが多くの人に良問とのお言葉をいただいて嬉しいね。

 

D問題

リンク: No.802 だいたい等差数列 - yukicoder

たまたまTLに流れてきたこれを見て等差じゃなくて差がD以下だったらどうなんだろうって思ったら包除原理で綺麗に解けたので出しました。北大の影響を受けすぎていませんか?

もともとはD1はなかったんですがタイトル決めるときに「だいたい等差数列」っていう文字列がふと浮かんで、だったら下からも抑えたほうがいいねってことで足しました。

へのくんに「☆3のテスターして」って渡したら「☆3は正気の沙汰じゃない」とのお言葉をいただきました。AC人数をみるに3.5にして正解だったと思います。ありがとうへのくん。

 

E問題

リンク: No.803 Very Limited Xor Subset - yukicoder

F_2線形代数に変な制約を入れた問題を作りたいなぁと思っていて、「2つのうち1つを使用する」を思いついたんですが、よく考えると2つに限らなくても偶奇の指定ができることに気づいてできました。最初はYes/Noで考えていたのが数も数えられるので数え上げになりました。

他の数え上げの問題とほとんど被りようがないこの問題がしかも最難枠で生えてくれたおかげで今回の数え上げセットが実現したという感じ。

 

最後に

 人に解いてもらうのもジャッジで見守るのもそのあとブログにまとめてもらえるのもめちゃくちゃ嬉しくてコスパ異常なのでみんな作問しような。yukicoderに投げたくなったら僕でよければテスターだったりお手伝いだったりはいつでもします。

 次は数え上げ以外だったりちょっと変わった問題だったりを作れるといいなぁ。

 解いていただいたみなさん、コンテストに参加していただいたみなさん、ありがとうございました!

RUPC2019参加記

 RUPCに初参加しました。というか合宿系イベントとかチーム戦とか自体初参加でした。

 

1日目

 起床に失敗して自己紹介できませんでした。コンテストはけんちょん(@drken1215)とつたじぇー(@_TTJR_)と組みました。

・つたじぇーがAを爆速で通してオンサイトFAを取る(1分)

・その勢いのままBを論理和っぽく書いたらif文列挙勢に勝てたのかオンサイトFAだった(3分)

・Cでけんちょんが詰まってて見たらたしかにやばそうなので一旦捨てることにする。つたじぇーがゲーム構築インタラクティブっていういかにも僕っぽいDを投げつけて実家っぽいEにいく。なんか一瞬で通して全体FA取ってた、すごい。(16分)

・Dを考えるとインタラクティブなのでにぶたんをしたくて、辺をうまく張るとできることがわかるので書く。手元でしっかりめにテストして出すと通る(30分)。新しいタイプの形式でかなり面白いと思った。

・とりあえずCに戻って1人でオセロして遊ぶと規則性がなんとなくわかったので「エスパーします」って言って書いたら通る(40分)。これwriterが天才すぎる。

・ほむと一緒にFを考える。添字n個と数列n個の計2n個のなかでなるべく大きいものと小さいものを組ませたいよなぁと思いながらサンプル3の上位n個に◯をつけてみたらすべてが解決した(61分)。全体FA、やったね。

・あとはGだけで燃やす埋めるっぽいので色々と試行錯誤をしているとほむが装置だけみればいいことに気づいて(天才)、けんちょんが2部グラフだから反転するとできることに気づく(天才)。ぼくはわからないのでお菓子食べてた。ちょっと添字がバグってたらしく1WAしたけど無事全完(170分)。ペナ差で逆転してオンサイト優勝。嬉しいね。

 

 懇親会はわりとちゃんと懇親した気がする。初めましてもいっぱいできてよかった。

 

2日目

 起床は成功よりの失敗。会津セットだしKUで組むかということでへの(@heno_code )とやむなく(@yamerarenaku )で組む。意識が高いので3日前くらいに去年のセットでばちゃをしてから臨んだ。

・へのがAを通す(1分)。僕がBを考えるけど全然できないのでへのに投げる(は?)。ごたごたしてる間にやむなくがCを通す(12分)。へのがB, Gを通す(18分)。BがオンサイトFAでGが全体FAだったらしい。

・やむなくがEが解けたらしいので書いてもらう。CEが出て辛そうだったけど通る(47分)。その間に見ていたDが普通にDPでできることに気づいたので書くと通る(55分)。これもオンサイトFAだったらしい。Dを書く前にチラ見したHが燃やす埋めるっぽかったのでやむなくに投げたら僕が書いている間に考察が終わってDが通った5分後にはACしていた、早すぎる。

・Fはとりあえず辺を決めれば良さそうというとへのがO(N^2)をすぐに実装してくれる。投げてみたらTLEしたけどへのがしゃくとりに気づいてすぐに書き直してAC(103分)。実装が強すぎる。

・Jの物理パートだけ計算して実装はへのに任せる。この時点では単調性があると思ってた(うく)。Iを考えていると突然逆から見たくなる。逆から見ると操作はk -> 2k % n , 2k+1 % n の2択だとわかって、これはシフトしてbitを立てたり立てなかったりする操作なのでできる(146分)。4つめのオンサイトFAを獲得する。

・Jで単調性がないことに気づいて破滅する。やむなくの指摘でLの誤読に気づいて考え直すとこれは原始根の指数でGCD。が制約を見るとBSGSじゃ厳しそうなので強い気持ちでBSGSを捨てると位数を考えるだけで十分なことがわかる。位数はp-1の約数のみ考えれば十分で素因数ごとに見ていくことができるので書いてみたらサンプルがあう。投げる。AC(202分)。5つめのオンサイトFA。NO_FAとはなんだったのか。

・Jが一生あわなくて悲しい気持ちになる。DPをしようとしていて、横でやむなくが区間スケジューリングっぽくできるっていう主張をしてくれていたらしいけど脳が死んでいて捨ててしまう。ほんますまん。

 結果10完でオンサイト優勝。でも時間の大部分を費やしたJを通せないのはつらいね。メンバー相性がかなりいいことに気づいてしまってICPCこの3人で出ませんかって僕が言いまくることになる(パワハラ)。

 

 懇親会は大半ほむにくっついてた。終わったあと卓球をしたりもした。楽しい。

 

3日目

 起床成功。ほげもち(@hogemochi ) + ランダムにしたらみかん(@mkan_0141 )さんと組むことに。チーム名をhomu_aishiteruにすると同時にコンテストの目的がFAになる。

・A~Cをみかんさんとほげもちにお願いしてDから読む。ほむがwriterな問題はFだとわかるのでFから考えると赤の個数決めうち包除原理でできることがわかる。みかんさんがAを通してくれたのでFを書いて出すとFAだった(20分)。大勝利。

・ほげもちがBを解いてくれる。Cを読むと約数の個数と素因数の個数を数えればいいとわかるのでみかんさんに書いてもらいながらDを考えたりする。

・Dを書く、落ちる。デバッグする。落ちる。まだバグってる。直す。デバッグ出力の改行を消し忘れててPEする。消す。落ちる。#define int long long する。間違えてEに投げてTLEする。Dに投げなおして落ちる。何もわからん、やめるか(最悪)。

・Eを考えるとロリハでいけそうな気持ちになるけどなんか実装が嫌になる(正直Dが通らない時点でかなり萎えてた、すみません)。楽しそうなGにいくと嘘が生えるけど当然あわない。

・ついにほげもちがDのバグをみつけて直す、通る(165分)。最初のsubmitから100分+7ペナは無にもほどがある。大反省。

結果はオンサイト8位くらい。DのバグとEを実装できないのがひどくて、それは橙無理ですねって感じ。Fのwriterと解説は予想通りほむで、「FAはほむあいしてるです」を言わせることに成功する。ほむ愛してるよ。後から気づいたけどここまでちゃんと当てられるなら「FAはてんぷらあいしてるです」を言わせたほうがおいしかった。次回以降の課題。

 

帰ってそのままバイトに行く。おうちに帰るまでがRUPCなので塾講は実質RUPC。過去にへのを相手に授業をしたことがあることが判明してウケた。

 

最後に

3日間とても楽しかったです!

ほむをはじめとしてチームを組んでくれた方、ほむを含む運営さん、その他懇親会で絡んでくださったほむなどのみなさん、それとほむ、ほんとうにありがとうございました!!!

HACK TO THE FUTURE 2019 本選に行きました。

HACK TO THE FUTURE 2019 本選に参加させていただきました。

 

予選

20卒パワーで通過しました。20卒に感謝。 

tempura0224.hatenablog.com

 

本選前日

大学に行ってから東京に行ったので23時に新橋に着きました。華金23時の新橋の治安は最高でした。晩ごはんは一蘭を食べました。

 

 

晩ごはんを日付変わってから食べてる時点でまぁまぁ危険なんですがホテルについてからも無限に麻雀をしていたら寝るのが5時になりました。

当日

9時に起きれた。えらい。開始直前までTwitterに浮上しない芸をしたら竹雄さんferinさん番兵さんたちに心配されて少し申し訳なくなりました。

ところで今回からオンサイトでプーさんを持ち歩くことにしました。よろしくお願いします。

 

コンテストは何もわからなくて、スキルを均等に満タンにあげて、そこからよさそうな任務を受けていく感じしか書けませんでした。一応スキルレベルが満タンになる前でも超良さそうなものがあったら取るようにはしたら少し伸びました。スキル上げの順番をよき感じにするのを思いつけなかったのはひどいなぁ。

結果は35人中の17位なのでギリギリ上位。経験の浅さを考えると善戦したほうかなと。

デバッグ方法をSubmitしか知らないので何かを実装するたびに提出していたら凍結時点では10位で、少しだけ夢を見れました。

 

コンテスト後の企業説明がまったく頭に入ってこなくて申し訳ない気持ちになりました。なんかプロスピの写真っぽいものを見たような気はする。あとJobsに求人が出たのをみて待遇すごくいいねっていう話をしました。

 

懇親会ではいろんな人と初めましてしました。ざきさんとかMdさんとか同じ大学なのに初めましてが東京なのウケるwって感じでした。

懇親にうつつを抜かしていたらピザ争奪戦に敗北しておなかが空いたのでferinとc7c7さんと春日亭に行きました。c7c7さんにホテルどこか聞いたら同じで笑いました。ちなみに安心お宿新橋汐留です(いつもの)(実家のような安心感)。

 

翌日

みんなでボドゲをする約束で、12時ごろ集合だったのですが起きたら14時でした。まじでごめんなさい。15時チェックアウトの安心お宿に心からの感謝を。

結局ボドゲ会には16時ごろに着きました。楽しかったです(小並感)。

 晩ごはんにはShinya Kato も来てくれて中華を食べました。

竹雄さんと一緒に帰って新幹線からABC114に出たんですが、竹雄さんがCのデバッグで冷えてるのを眺めながら酒を飲む邪悪をしました。帰ったら頭が痛くなりました(自業自得)。

竹雄さんとはまたDDCCでと言って別れたんですが大阪人どうしだし関西で会えばよくないですか?(関西オンサイトの開催が待たれる)

 

終わりに

HTTF2020も絶対出たいんですが新卒優遇がないので精進しないとなぁ。

次のオンサイトはドワンゴ本選です、参加者の皆さんよろしくお願いします。

CODE FESTIVAL 2018 参加記

CODE FESTIVAL2018に参加したのでスマホコーディングについて書きました。

 

本選

案の定ホテルで二度寝をするなどしていたら到着がかなりギリギリになって焦る。

とりあえずAを投げたあとBもまぁ式はすぐに書けるので適当を投げる。

確認したらAがMLE、BがWAだったので絶望する。

Aのlong long をintに直したら通る。

Bをちょっと書き直したけど通らないのでやめてCに行く。

CはCHTのCなのでCHTを貼るだけをすると通る(ごめんなさい)。

順位表をみるとEが異常に解かれていたのでEに行く。EはsEgmEnt trEEのEなので貼ると通る。根拠はこの速度で解かれるならこれくらいしかなさそうなこと、正当性はACすることから分かります。

D、最初普通に略称になる回数が1番多い文字列(同じ文字列内で何回数えてもいい)だと誤読して真ん中で場合分けするいつものじゃんをやると当然嘘。各文字列内では1回しか足しちゃダメなことに気づいてboolにし直したりmapで管理したりをするとTLE。冷静になるとpair<int,int>で(ある文字列の個数、最後に足したindex)をするとO(1)で管理できることに気づくので直してAC。パーカーを獲得して安堵。

Fが全然解かれていないのでGに行く。3乗のDPはわりとすぐに生えるので必死に高速化を考えながら式を眺めるとCHTですねとなるけど一生バグる(ちなみに枝刈りのほうには気づかなかった)。なんとか直してAC。

順位表を見ると賞金を得るにはFが必要だったので考えるけど何もわからなくてタイムアップ。

結局2400点で31位。賞金圏内とは点差だけ見ると300点なのでちょっと悔しい結果。

 

チームリレー

僕は最初Gが回ってきたけど完全に無理なやつだったのでHを強奪して考察をする。意気揚々と書きに行くとサンプルがあわなくてデバッグしたらmod逆元がバグっていてはいとなる。残り15分くらいで出したコードがWAするけど何でかわからなくてそのまま終わり。IHさんが終了30秒前ACを決めてかっこいいなぁとなる。

ところでバグはkとすべきところをn-kにしていたからで、終わって3分くらいしてから気づいて投げると通ったので本当にごめんなさいとなる。通セてれば肉だったらしい。DPとかの遷移はあっていて最後の締めの足すだけのところで間違えていたので誰も気づけなかったというやつなんですが、こういう詰めの甘さが本当に嫌になって自己嫌悪で死んでた。

 

懇親会

お昼のフリータイムもそうだけど意外と認知されていてびっくりする。だいたいスマホコーディングの人という認識だった。今はもうほとんどやっていませんが、当時の環境とかを聞かれたのでいくつか答えると

 

エディタ...AtCoderコードテスト

コンパイル...AtCoderコードテスト

デバッグ...AtCoderコードテスト画面でprintfデバッグ

キーボード...普通にスマホの英字キーボードでフリック入力を頑張る。

ライブラリ...なし。必要になったらAtCoder Problemsで過去の自分の解いた問題を漁って見つける。

辞書登録...特にしていないけど予測変換で勝手に出てくる(例えばrと打つと第一候補がrep(i,n)で第二候補がreturn になってる)

つらいこと...AtCoderのコードテストは有能エディタなので中括弧はちゃんと自動インデントされるから意外と快適。だけど[を開いた状態でうっかり改行をしてしまうと自動インデントがバグってスペースが20個くらい挿入されるので死ぬ。

スマホでの成績...最近だとABConlyはスマホでも30分くらいで全完できる。ARCとAGCでは橙パフォまでは1回ずつ出しているはず。

今後スマホでコーディングする予定...二度とやるかバカ。と言いたいんですがたぶんDDCC予選はスマホで出ます。落ちたら笑ってください。

 

こんな感じです(他に気になる点があるとリプなりコメントなりをいただけると追記します)。縛りプレイをしたくなったらやってみるといいと思います。

なんか何の記事かわからなくなりましたがいろんな方と喋れて楽しかった。同じ大学の人と初対面を果たすなどした。大学でやれ。

 

感想とか

パーカーとタンブラーを獲得できたり会いたかった競プロerにお会いできたので最低限のToDoは果たせたはず。初参加だったけど超楽しめた。

ただ本選もリレーもわりと後悔を残してしまったので来年必ずリベンジをしにきます。特にリレーの2byteは絶対取り返してやる。食べ物の恨みはでかい。

しかしもう少し早く競技プログラミングを始めていたかったなぁ。。。

 

HTTF2019予選 ばらばらロボット

HTTF2019予選に参加しました。マラソンは初挑戦だったのでメモがわりに。

ランダムに1マス変えてみてスコアがよくなれば採用する山登りをしました。

問題→A - ばらばらロボット

コンテスト中

0:00 問題を読む。とりあえず#は使わないと決意(邪魔だし実装も面倒になりそうなので)

 

0:07 とりあえず白紙を出してみる(80940点)

 

0:36 .TDをrandom出力したものを提出(66336点)

TとDだけにしたのはこの時点でシミュレーションがDとTしか書いてなかったからだけどどうもTとDは微妙っぽいことがわかったので結果としては収穫だった。

 

0:45 なんか提出してみたくなったので白紙からTとDだけで山登りしたやつを提出(76065点)。山登りで白紙からスコア下がるのなんでやねん。

 

1:05 バイトに行かなきゃいけない時間になったのでとりあえずもう1回出してみる(80162点)。山登りとは。

 

4:18 バイトから帰ったので再開。バグの原因はxとyを逆にしてたからだった。競技プログラミング初心者か?(実際始めてから1年経ってないので初心者なんですね。)そこだけ直して提出(107803点)。やっとまともな点数が出たので安堵。

 

4:30 やっとLRも実装して提出(91196点)。何でやねん。

 

4:37 if文でelseをつけるのを忘れていたからだった。はぁ。DTよりLRのほうが効果的だらしいのでDTよりLRに変化させる確率を高く設定してみる。これで提出すると118343点。暫定42位だったので本選いけるのでは?となる(20卒なので20卒内25位で本選に進めるため)。

 

6:06 上の提出の時点ではループ回数が3000回だったので高速化を考える。変更するマスを通るものだけ再計算するようにする。最初は通るものも変更箇所以降だけを再計算することにしようとしたけど頭がバグったのでやめた。この改善でループ回数が20000回まで増やせたので提出(124795点)。26位に浮上して本選ありがとうという気持ちになる。

 

7:05 適当にパラメータとかいじって遊ぶけど目立った収穫なし。焼きなましを書いて提出したら点数が下がる。終わってから気づいたけど温度管理でバグってた(1文字変数を競合させるのをやめなさい。)

 

7:33 4個以上が集まるマスも減点してみると微増(125040)。結局これが最終結果になった。あとは適当に評価関数をいじって終わり。7分前に提出したコードが80682点で爆笑した。

 

コンテスト後

DTは完全に不要でLRだけでいいらしい。あとなぜか初期値は.よりLのほうが強いらしい。

→DTをなくすと場合わけが減った分とかでループ回数を3万近くまで増やせて125689点

ちなみに全部Lのtextを提出すると82374点で確かに白紙より強いので気づくとしたらそういうところからなのかなぁ。

 

焼きなましのバグに気づいて直す

→129733点。これコンテスト中に気づいてればと思ってコンテスト中のを直してみたけどいまいち変わらなかった。

 

TLのプロたち「LRしか使わないなら変更の影響を受けるのはそのマスの上で回転するやつだけ(Sは関係ない)」

→ループ回数が54000回になる。131097点。

 

プロたち「同じコマンドは圧縮できる」

→ループ回数が12万回まで増える。132825点。

 

(焼きなまし何もわかってないので適切な温度管理をすればもう少し伸びそうな気もする) 

感想

 

結果は37位。マラソンデビュー戦にしてはなかなかでは?

バイトで3時間抜けたのはやっぱりちょっと痛かったけど本選には進めそうでよかった。ありがとう20卒。

アルゴに比べて実装重めだけどそれを加味してもバグらせすぎなので反省しましょう。

今後はマラソンも積極的に参加してみようかな。

 

FORCIA Summer Internship 2018 参加記

フォルシア株式会社インターンに参加しました。記憶があまりないので想像で補って書きます。言えないこともあるのでさらに曖昧な文章になります。文章力もないのでNoiminさんのブログ(http://noimin.hatenablog.com/entry/2018/09/18/233705)を大いに参考にしました。例えば会社名にはリンクを飛ばすといいということを学びました。彼女のほうが僕より1週間後のタームのはずなんですけどね。時系列壊れる。

 

-40日

 今は数学科の院生をやってるんですけど、修士を出たら就職しようと思っているので流石に何もしないのもなぁと思っていたらAtCoderJobsに面白そうなインターンを見つけたので応募しました。Jobsに求人を出してくださるとターゲットが明確に自分に向いてる感じがあって超応募しやすいんですよね。AtCoderさんありがとうございます(このブログでは多方面に媚を売っていこうと思います)。

 有給なのも大きくて、これは給料がいただけるからというよりは、お金出してまでインターン生を募るならがっつりと経験を積ませていただけるんじゃないかっていう。

 

-35〜-20日

 応募したはいいんですけど、書類選考ってだいたい研究内容とか実績とか書かないといけないわけで、ここで詰みました。なんちゃって数学科なので大した研究をまだ開始できていないうえに書いたところでインターンの内容とかすりもしないし、プログラミングを始めたのも今年に入ってからなのでろくな実績もなく。ほげもちと相談した結果「AtCoder黄色なんで地頭は悪くないと思います」をそれっぽい感じの文章にして出しました。これで通ったら面白いなって言ってたら通りました。面白かったです。Rust検索エンジン開発コースに決まりました。

 

0日目

 前泊しました。前泊の宿泊料は負担しないよって言ってくださったんですが給料いただける時点でプラスじゃんという雑勘定をしました。場所は安心お宿新橋汐留

https://www.anshin-oyado.jp/shiodome/にしたんですがすごくオススメです。大浴場が24時間使えるだけで優勝なんですがホテルにあって欲しいものは大きなベッドを除いて全部あります。あと晩ごはんはてんぷらを食べました。前日だしRustでセグ木くらい書いてから寝ようと思ったら寝れなくなりました。そもそもC++でもセグ木を空で書けないことが判明しました。

そろそろちゃんとしたインターンのブログに切り替えます。

 

1日目

 朝適当に来た電車に乗ったら逆向きでした。あとはいい1日だったと思います。お昼ご飯はカルビを食べました。この日は与えられた課題(あとで詳しく書きます)のコードを読んで、コードを読めば誰でも書けるようなものを書いたりしてたら終わりました。

 

2日目

 僕の課題は雑にいうと作りかけのアプリに新しい検索クエリを実装することでした。と言ってもすでに社員さんが書いていたアルゴをいい感じに組み込めばよかったんですが、1から書こうとして破滅をしたりしていました。この日のお昼ご飯はケバブでした。

3日目

 今回扱うデータベースに対してはいい感じに動くものが実装できたので、他のアプリでも使えるように汎用化した作りにしようとしました。汎用化しようと思うといろんなケースが想定されたり、今回実装したクエリが他のクエリとかなり異なっていたりで考えなきゃいけないことが多くて、開発してる感がありました。slackのステータスをてんぷらにしていたらてんぷら屋さんに連れて行っていただくことになって、自ら志願して共喰いをするサイコパスになってしまいました。

4日目

 昨日からの作業が昼頃に一応片付いたのでアルゴリズム早くならんかなぁみたいなことを考え始めました。とはいえ最終発表まで全然時間がなかったのですぐに改善しそうな定数倍だけいじることにしてガチャガチャやってました。僕は基本的に2/3から3/4くらいにして満足してたんですがなんか次のタームの人が爆速にしたらしくてすごいです。この日のお昼ご飯は海鮮丼でした。いいものの食べ過ぎで胃が東京に染まりそうだったので晩ごはんでは博多ラーメンににんにくを多めに入れて中和しました。

5日目

 お昼ご飯は社内の競プロerさんたちとピザを食べました。競プロerさんとのお食事ということで当然アイドルトークで盛り上がりました。最終発表があったのですが僕以外の3人はアレクサで面白そうなアプリを提案していたり特徴語を抜き出してデータ分析していたりですごくて圧倒されました。しょうがないのでインターン参加者唯一の関西人らしく適当にボケをはさんでごまかしました。それなりにウケてよかったです。懇親会ではメンターさんとナブラ演算子ゲームをしました。あれはたぶんシラフでやるゲームではないんですが酔っててもできないのでどういう時にやるのが適切なのか謎です。

何も考えていなかったら宿を取っていなかったので安心お宿に電話してみたら余裕でした。神か。

6日目

 東京住みの友達とダラダラしてから大阪に帰ってABCに出たら社員さんのAtCoderアカウントが特定できました。

 

8日目

 人事の方からマイナンバーカードを忘れて帰ってるよと連絡がありました。ごめんなさい。

 

16日目

 無事受け取りました。

 

まとめ

 分からないことだらけで反省すべきところも多々ありますが、その中で(今後ちゃんと勉強することを仮定すれば)社会に出てもなんとかやっていけそうな自信も得られたので良かったと思います。あと社内の雰囲気がすごく肌に合っていたので勤めたい企業像も具体的になりました。

 あととにかく競技プログラミング(とバイト先の塾のVBA)でしかプログラミングをしたことがないという状態から脱出できてよかったです。結局アルゴリズムまで踏み込みきれなくて実装中心になってしまいましたが、むしろ僕にはちょうどいい課題だったように思います。社員さんからも直接ポテンシャル採用だと言われましたが、ほんとによく採ってくださったと思います。選んでくださった社員さんや、迷惑をかけ続けたメンターさんには(申し訳なさと)感謝しかありません。

 後悔としては(Noiminさんと丸かぶりするけど)メンターさんたちにもっと厚かましく色々聞きにいけばよかったというのと、他のインターン生徒との交流ですね。たぶんアレクサの人は僕と交わした口数よりアレクサに話しかけた回数のほうが多いと思う(それはそう)。

 なんか最後に感動的な文章を書きたかったんですが不可能なので終わります。あとフォルシアさんの魅力も全然書けてない気がするのでインターンがこれからの人たちはぜひ実際に参加して直接みてもらったほうがいいんじゃないかなぁと思います。その際はてんぷらが行けって言ってたって言ってください。たぶんてんぷら屋さんに連れて行ってもらえると思います。

 

f:id:tempura0224:20180919025717j:plain