週記(2023/08/21-2023/08/27)

08/21(月)

午後2時半起床。購買に行って買い物をし、お盆休みの間に出た新刊ラノベを受け取ってきた。しばらくインターン関連の作業をして午後4時半から定例会へ。

今日は別の話で進捗報告の時間が消し飛んだので、直前に作業してもなお薄い内容を報告する必要がなくなり助かった。勉強会はAho-Corasick法をビームサーチで使う話。このアルゴリズムは定例会や勉強会の場でこれまでも何度か話題に上がっていたはず。インターン開始前は存在しか知らなかったが、そうやって学ぶうちに今ではかなり理解できてきたのではないかと思う。

夜はずっと週記を書いていて、日付が変わる直前に投稿。今日は特にカクヨムを読みふけったりしていないのに、相変わらずコンテストが軒並み穴あきの状態になってしまった。

TLで流れてきた「大谷翔平ポケモンカードで負けたら自殺するしかない」を読んだ。1話のみの短編。導入こそギャグに見えるが中身はしっかりしていて良かった。

kakuyomu.jp

朝まで週記への追記を続け、何とか先週分の穴を全部埋めることに成功した。ゴミを出してからしばらく他の人の日記を読み、午前10時就寝。

08/22(火)

午後5時前に起床。学食に行って夕食を摂り、散髪して帰宅した。インターン関連の作業を少し行ってから1on1。

今日は自分一人で行うのが怖い作業があって、それを見守ってもらうために1on1を設定した。ところがあらかじめ手順をメモしてあったこともあり非常にスムーズに完了。動作確認も問題なく、20分程度で本題が終わってしまった。かなり時間が余ったのでせっかくだからと以前丸投げした部分の方法・仕組みについて解説してもらったら、話がかなり盛り上がって逆に予定していた時間を大幅にオーバーした。

EC2インスタンスについて、自分に知識が足りずできない部分の準備をやってもらっていた

週記(2023/07/31-2023/08/06) - kotatsugameの日記

しばらくネット小説の更新分を読んだりYouTubeを見たりして英気を養ってからセミナー準備を開始した。次回セミナーは来週金曜日なので少し余裕がある。そのため論文を読むのではなく、少し自分で考えた計算を行ってみることにした。別の方法ですでに証明した等式の別証明を作ろうとしたのだが、これがかなりうまくいって大興奮。目的の式にまではたどり着けなかったもののかなり綺麗な形にまとまってくれた。

午前3時くらいに布団に入ってから読み止しのラノベを開いたら、そこから怒涛の展開で読むのを止められずそのまま読了してしまった。「時々ボソッとロシア語でデレる隣のアーリャさん」6巻。

最っ高。前半でしっかりイチャイチャしつつ後半は自分好みの展開ばかりで読んでいて震えが止まらなかった。特に主人公とピアノについては5巻の時点で伏線がビシバシ張られていて非常に楽しみにしており、ヒロインのライブもあるし回収は7巻以降になるだろうなと予想していたところに急展開で描かれたため大変びっくりした。その分ちょっと詰め込みすぎな気もしたが、大満足。

午前8時前に就寝。

08/23(水)

午後2時起床。すぐ外出し、まずバイク屋に行って原付を点検に預け、そこから徒歩でアーケード街に行き大戸屋で昼食を摂った。

食後はゲーセンに行き、閉店までの7時間半で38クレプレイした。腕も足腰も限界が近いがその甲斐あってチュウニズムデュエルは一気に決着間近まで進行した。理論値も10個増えた。理論値を狙えるようなレベルの譜面ばかり選曲していたのでこんな長時間プレイを続けられたという話もある。

最近通常解禁された譜面に15が二つあって、一応それもプレイしていた。DA'ATは高速鍵盤に追いつかないし低速地帯もあり得ないくらい押せなくてSSがギリギリ。一方MALKUTHは誤魔化しが効くらしく、どうしても無理というような配置がなくて噛み合ったらSS+が出た。ただし再現性はないだろう、という感覚。SSSを狙うつもりはない。

ラーメンを食べて帰宅。シャワーを浴びてから来月の新刊ラノベをチェックした。今回は25冊買うことにしていざ大学生協のサイトで注文しようとしたところ、なぜかHJ文庫の新刊が一部しか登録されていないらしく、見つからなかった本が3冊もあった。とりあえずそれ以外の予約を確定させておいた。

布団に入ってからしばらくYouTubeを眺め、午前5時就寝。

08/24(木)

午後2時起床。そのまま布団でスマホを触ったりラノベを読んだりして時間を過ごし、午後5時頃に外出した。

まずバイク屋で点検の終わった原付を受け取った。掃除もしてくれたらしく、埃まみれだったのが綺麗になって返ってきて感動。前に点検したときはこういうサービスはなかったはずだが作業者の違いだろうか。それから学食で夕食を摂って帰宅した。

帰宅後は読書。「都合のいい地雷系彼女とカラダだけの関係を」を読了した。刺激的なタイトルだし冒頭のシーンもそうだったが、あとは普通にラブコメをやっていた。過激なシーンがほとんどなくてちょっとがっかりしている煩悩まみれの自分が醜い。そういうことばかり考えていたため話の感想が見つからなかった。

午後9時半から2時間ほど仮眠して、CF #894 div.3に参加した。

Dashboard - Codeforces Round 894 (Div. 3) - Codeforces

Aは行ではなく列なのが少し面倒に感じる。Bはb_iを順に1個または2個追加していくのがよい。Cはa_1\gt nなら当然NOで、そうでないなら実際に対角線で反転してみる。Dは\{1\dots k\}\binom k 2通り作った後は1\dots kのどれかを追加するたびに1通りずつ増えるということを考えれば、\binom k 2\le nなる最大のkを取ったときのk+\left(n-\binom k 2\right)が答えになる。

Eは最後に映画を見た日を決め打つとdがどれだけ寄与するか決まり、あとは単純にそれ以前の映画でaの値が大きいものから貪欲に選べる。優先度付きキューを使うなどして後半部分を差分更新すればよい。Fは何秒か待ってマナを溜めきってから一気に倒すとしてよい。最初にsの部分和を全列挙しておくと判定ができるので、二分探索。

Gは、ソートされたaの階差数列をdとしたときデバイス\max(d)回動作して、その度に最大値がインクリメントされるため最終的な値は\max(a)+\max(d)となる。あとはadをmultisetなどで持って頑張って更新。自分はうっかり最小値に注目して\min(a)+\max(d)+\sum dとしたが、結局adの管理が面倒なので手間はそこまで変わっていない……はず。

全完12位。今日は別に詰まった感覚もなかったのに上位陣に比べるとまんべんなく遅くてびっくりした。改めて振り返ってみれば、特にEFGがスローペースだったのは否定できないかもしれない。

www.youtube.com

AtCoderのエディタ更新の影響で、改行をCRLFでなくLFのみで提出するdos2unixというユーザースクリプトが使えなくなっていたが、直った。この直ったというのは2段階あって、以下の一つ目のツイートが行われた時点では提出こそできるものの改行がCRLFのままだった。自分でユーザースクリプトを書き換え対応するつもりでいたが、公式で気にしてもらえたのは嬉しい。

GitHub - kmyk/atcoder-dos2unix-userscript

朝までラノベを読んでいた。2冊読了。

1冊目は「俺のアパートがダンジョンになったので、最強モンスターを従えて楽々攻略」。微妙。主人公陣営のダンジョン攻略の様子がかなり単調で作業感が強い。またそれをしばらく繰り返しただけなのにすぐ国内トップクランの攻略を手伝えるくらいに成長してしまい、冒険者が全体的に弱いという印象を受けた。まあ開始時点ではダンジョンができてまだ3か月らしいから納得はできるが、好みではない。わかりやすく成長したりわかりやすく強かったり、あるいは最初から強い主人公が好きだということを再確認した。

2冊目は「ギャルに優しいオタク君」。面白かった。主人公は鈍感でこそあるものの変に卑屈な様子がなく受け入れやすい。ヒロイン達も主人公の趣味に理解を示すというよりはあまり関心がない感じで、結果特に不自然さのないラブコメ的関係を築いており、過剰にオタクだとかギャルだとかを意識することなくリラックスして読めた。

シャワーを浴びてから日記を書き、午前11時半就寝。

08/25(金)

午後6時前に起床。新エディタテストコンテストに出た。

New Editor Test Contest - AtCoder

Aが難しそうだったのですぐBに移ったら、こちらは自明だった。適当に実装して提出すると一瞬でジャッジが終了し、実行時間0ms・メモリ使用量0KBを叩き出した。データがまだ入っていないらしいので、今のうちにと思ってTextで1Bのコードを提出しACしておいた。

その後Aに移って問題文をよく読むと部分点がこれまた自明だったので、実装して提出。Bのリジャッジも始まっていたのでTextの1Bを提出したのは無駄だったな~と思いながら眺めていたらなんと落ちてしまった。2ペナ。よくよく問題文を確認するとP_i\lt iという制約がなかったので、渋々グラフを作ってdfsするコードを出し直した。

その後はずっとAの満点解法を考えていたものの、解けなかった。しかしコンテスト後のTLで「両辺をBで割る」というヒントを見て、同じことはやってみたはずだが……とコンテスト中の自分の考察を見直し少し考えを進めたところ、解けてしまった。結構惜しかったらしい。

条件をBy\equiv -Ax\pmod Cと書いて、この両辺をBで割りたい。-Ax\gcd(B,C)の倍数となるようにAxの上限を調整し、全体を\gcd(B,C)で割っておけばそれが可能になる。これによって、改めてC\leftarrow C/\gcd(B,C)と置きなおしてy\equiv ax\pmod Cという条件が得られる。

つまり求める個数はxの新しい上限をnとして\sum_{x=0}^n\left\lfloor\frac{N-(ax\bmod C)+C}{C}\right\rfloor。ここまではコンテスト中にできていた。ここで(ax\bmod C)=ax-\lfloor ax/C\rfloor\times Cであることを思い出して式を整理するとfloor_sum二つの和となり、求まる。

ラノベ「バズれアリス」を読了。面白かった。異世界から日本に向けて配信する上での困難はいくらでも多く描けるものに見えるが、その省略の仕方がちょうど良かった。言語の壁は設定でスルー、機械の扱いはすぐ覚えたことにして、常識のギャップや世界観の違いを重点的に見せていた。加えてヒロインの配信者としてのキャラが最初から完成されており、非常にスムーズな進行で配信シーンを楽しむことができた。ただ主人公がシェフであるという設定や地球のコロナ禍を強調していたことの理由は今の時点ではよくわからない。

しばらく日記を書いて、午前5時前には布団に入った。1時間くらい本を読んでから就寝。

08/26(土)

午前11時半起床。今日はオンサイトの前泊の日である。1泊する荷物を準備して出発した。

仙台駅に着き、駅近くの喫茶店で空いているところを探し入った。昼食を摂って、午後1時からはそのままそこでMaximum-Cup 2023に参加した。

Maximum-Cup 2023 - AtCoder

書く

コンテスト終了20分くらい前に店を出て新幹線に乗車。車内でもギリギリまでCに提出を重ねていたが、結局通らなかった。6完最速で4位。解説スライドを見てx=1の存在に気づき、ちゃんと無視するようにしたら通ってしまった。非常に残念。

Aのコードゴルフをした。Nibbles。chunk byによってaを同じ値が連続する区間の列に分割し、各区間の長さをlとして0,\dots,l-1という列を作り、その和の総和を出力。それぞれピッタリな関数があってかなりうまくいった。

しばらく寝て、午後5時過ぎに東京駅に到着。山手線に乗って渋谷駅に向かった。結構遠くてびっくりした。ホテルにチェックインしたのが午後6時過ぎで、それから部屋で荷物を降ろしてすぐ外出。近くのやよい軒で夕食を摂り、コンビニで明日受付で必要になる書類を印刷して帰ってきた。

シャワーを浴びたらもう午後8時前になってしまった。本当は少し仮眠するつもりだったが今から寝るとABCを寝過ごしてしまう可能性が否定できないので、ベッドに横たわって本を読んでいた。午後9時からABC317。

GAMEFREAK Programming Contest 2023 (AtCoder Beginner Contest 317) - AtCoder

書く:ABC

午後11時半からはCF combinedに出た。

Dashboard - Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) - Codeforces

書く

3時間コンテストだったので終了したらもう午前2時半。すぐ布団に入ったがうっかり1時間ほどハーメルンを読んでしまってから寝た。

08/27(日)

午前8時半起床。昨日のCFは無事出したものは全部通っていて7完18位、レートは2775→2871(+96)となった。

ホテルで朝食。冷蔵あるいは冷凍の料理が配られて、部屋で暖めたりお湯を注いで食べるという形式だった。そのためのレンジや使用しなかったが食器・カトラリーが部屋に備え付けになっているのは面白く、準備中にワクワクしていたことは否定できない。ただ、うーん……。この近辺にある朝食付きのホテルとしてはかなり安かったのだから、ちゃんと調べなければならなかった。

いろいろ探して何とか「そこそこ近く」「朝食付き」で「宿泊費を出してもらえるくらいの価格」のホテルを見つけ、予約した。

週記(2023/07/03-2023/07/09) - kotatsugameの日記

午前9時半にチェックアウトし、歩いてすぐの会場へ。顔見知りの人々と少しだけ挨拶した以外はじっとコンテストを待っていた。ネットワークトラブルで15分こどふぉりつつ、午前10時15分スタート。

TOYOTA Programming Contest 2023 Summer final - AtCoder

書く

昼食は西京焼き弁当。勝手に春のオンサイトと同じ叙々苑弁当だと思い込んでいた自分に気づいてびっくりしたが、ともかく美味しかった。マラソンの大会ということで高めの年齢層に合わせた弁当が用意されたのだろうか。それにしてはご飯の量がかなり多く、若い自分でも満腹になった。

昼食は叙々苑の焼肉弁当だった。

週記(2023/03/13-2023/03/19) - kotatsugameの日記

食後はスポンサーセッション。春のように自由参加にしたら聴衆が集まるわけないだろうと思うので、今回強制参加だったことについては納得している。それはそうと話に興味がなくあまり聞いていなかった。

表彰式を終えて会場を移動し、懇親会スタート。乾杯も含め飲み食いは一切せず、閉鎖的で申し訳ないなと思いつつもほぼずっと知っている人々と喋っていた。そろそろ始まるUniversal Cup第2シーズンのチームのお誘いを頂いたので、第1シーズンのチームjapan334を抜けてそちらで参加することにした。これまで組んでくださったぷらさん、かっつさん、ありがとうございました。

「チームどうしようかなあ」のようなツイートを行い、言及を待って突撃するという姑息な方法でチームを組むことに成功した。ぷらさんとかっつさんである。どうぞよろしくお願いします。

週記(2023/01/23-2023/01/29) - kotatsugameの日記

自分の動画をよく見てくださるという方に声をかけてもらった。ひとしきり話した後、自分から動画についていくつかアンケート調査みたいなことをさせてもらった。「コンテスト終了後の振り返りよりはコンテスト中の様子を見る」「動画がチャプター分けされているのは役に立つ」「自分が紙に書く内容はあまり読み取れない」「タイピングしている様子が見えるのは良い」くらいの意見を伺えたはず。何をやって・考えていたかの説明を振り返りの時間に押し付けがちだったので、そこをしっかり口に出してコンテスト中の無言の時間を減らすとか、Webカメラを買い替えて画質を向上させるとか、改善点がいくつか見つかった。

午後6時前に解散。へのk、のいみさん、りすじろうさんと4人で二次会として「ツク夜ノ白兎」という店に行った。他の競プロerやのいみさんが聞いてきた中国の競プロ事情について話していたはず。中国では上から下に教える文化があって強さに繋がっているらしい。結局一人で勉強しないと強くはならないだろうと思っていたが、上から教えられたという事実がそのモチベーションになると言われて腑に落ちた。

そこそこの時間で店を出て渋谷駅まで戻ってきた。最近掲示された花譜さんのライブの広告を見ることができてラッキー。会場もホテルも逆側だったのでお目にかかれないと思っていた。

ところで新幹線の発車まであと40分もない。昨日のように山手線に乗るよりは東京メトロを乗り継ぐほうが早いようで、経路をのいみさんから聞いてその通りに移動したところ東京駅の丸の内線改札に発車7分前に着いた。そこから新幹線改札までかなり遠いと聞いていたので覚悟を決めてダッシュしたら3分くらいで走り抜けることに成功し、結果的には余裕を持って新幹線に乗り込めた。

新幹線車内では爆睡していた。仙台に到着してから小腹が空いたので何か食べようと思ったが、立ち食いそばは閉店済み、マックも閉店間際ということで諦めてそのまま帰宅。シャワーを浴びて午前2時半くらいに布団に入った。

眠気はあるのになかなか寝る気になれず、本やカクヨムを読んだりYouTubeを見たりして朝までゴロゴロしていた。「異世界を救った元英雄の、成り上がりダンジョン配信録!!〜普段からぼっちだった俺が異世界で得た力でダンジョン配信者として超有名になり、人生勝ち組に至るまで〜」を読了。現実パートがあっさりしておりダンジョンパートが多めで良かった。

kakuyomu.jp

午前7時半就寝。