以下の内容はhttps://kotatsugame.hatenablog.com/entry/2025/07/28/234432より取得しました。


週記(2025/07/14-2025/07/20)

07/14(月)

午後2時起床。しばらく布団でゴロゴロして過ごし、午後3時半からインターン先定例会に出席した。進捗はなし。

勉強会ではスモール・ワールド現象と、それを応用したベクトル検索のアルゴリズムが紹介された。この現象は人間とその知り合い関係でグラフを作ったとき平均距離が短くなるという話で、ランダムグラフにおいてはWatts-Strogatz modelによって再現される。以前Barabási–Albert modelがSNSにおける人間関係を表すと聞いたので同じかと思ったが、そちらは平均距離こそ短くなってもクラスターを構成しないという点で異なるらしい。

学食に行ってきた後は、以下のmaimai配信を見ていた。

www.youtube.com

数日前のアプデで超高難度のイベントが始まったらしく、完走目指してここ数日ランカーたちがこぞって配信していた。特に最後の曲は情報が徹底して隠されており、前半を乗り越えた後は残り何秒耐えたらいいのかすらわからない状態だったが、最も先まで到達できたプレイヤーのレートが上がったため、いよいよ終わりが近いと噂されていた。

配信の切り抜きや言及などがTwitterに盛んに流れてきて、アーケード音ゲーの配信では空前絶後の同接1万5000人だか6000人だかを集めるなか、チャンネル主が見事完走。EXTRA TRACKとしてエンディングのような曲調の新曲をプレイしたり、公式からついに完走者が出た旨のツイートがあったりして、大盛況のうちに終わった。

本当にすごい盛り上がりだった。「音ゲー史に残るイベント」という評価もたくさん目にしたし、他の音ゲーでもこんなイベントが欲しいというツイートが無数にあった。しかし、このイベントの何がそんなに人を惹きつけたのだろうか?特に、自分はなぜこんなに興奮しているのだろうか?

譜面にまともに取り組めるのがランカーだけというのはやはり解禁イベントの宿命であり、他と状況は変わらない。一般プレイヤーの協力で進行する箇所がほんの少しあったらしいとは言え、あまり重要とは思えない。maimaiのこれまでの歴史を回収する集大成のようなストーリーが長くプレイしている人にとってはたまらなかったという話で、これは大きいかもしれないが、しかし自分にとっては関係ない話。

自分なりの結論としては、同じランカー向けでも「誰が最初にクリアするか」だったのが、どんどん情報が明かされていく度あまりの難しさに「誰かクリアしてくれ」という総力戦の様相を呈していく、そこが面白かったのだと思う。

先週の週記を書いて日付が変わる前に投稿。その後ラノベ社畜剣聖、配信者になる」4巻を読んだ。

特に前半が面白かった。一般探索者と合同のダンジョンアタックということで主人公たちの格の違いがよくわかる。ちゃんと遠慮して手柄を譲っている分活躍は少なめかと思ったが、もちろんそんなことはなく、見合う敵が用意されていた。単なる雑魚狩りで終わらなかったというのも嬉しい点。

午前6時半就寝。

07/15(火)

午後0時半起床。

ラノベ「好きだった子をメイドにしたら、俺の部屋でこっそりナニかしている」を読了。上流階級出身の主人公が出自に見合った振る舞いをしようと決意した矢先に、その出自に関する致命的な事実が明らかにされて梯子を外されたような気分になった。タイトルも回収されたしおそらくこれがストーリーのメインなのだが、少し淫靡なパッケージやそれまでの話の雰囲気と大きく食い違っており、ちょっとついていけない。

午後5時前、散髪してもらいに大学生協に向かった。それが終わった後は学食で食事。特別なイベントの日でもないのに非常に長い行列がずっと途切れず、不便だった。文系のほうの食堂が改装のため閉店中なので、そのせいだろう。

帰宅してからはCHUNITHMのアプデ直前生放送を見ていた。strさんの3番勝負が目当てだったが、やはり圧倒的。「ニルヴの心臓」の前半を理論値で通したところは見ているだけなのに心臓が張り裂けそうになった。出演者たちの押し殺した驚愕の声が配信に乗っていて面白い。後半も交差して絡まったように見えた手が正しい位置に瞬間移動したりとさすがのリカバリ力。

そういえば、稼働10周年に合わせて明日がアプデ日らしい。明後日だと勘違いしていたので、削除要素の回収などが間に合っていてよかった。

www.youtube.com

ラノベを読んで午前0時半くらいに就寝。

07/16(水)

午前9時起床。

ラノベ「お嬢様頭脳戦」を読了。謎のゲームにおける企業の跡継ぎたちの対戦結果が経済活動に影響を及ぼすことについても、主人公がそのゲームでほぼ無敗の戦績を誇る強力なプレイヤーであることについても、説得力が感じられなかった。こうなると主人公たちが策をめぐらしてゲームに勝ったところで、その強さよりも負けた側の弱さが要因に見えてくる。

登校して午後1時半から後輩のセミナーに参加した。最近新しいテキストを始めたらしいが、初回のセミナーを逃してしまったのか内容についていくのが精一杯で、黒板の計算を追っているうちに終わった。

学食で食事した後、院生室で明日のセミナー準備。ところでトイレの悪臭問題はもうばっちり解決されており、謎の小さな機械が導入されて、まるで香水売り場にいるみたいに露骨な良い香りが漂っていた。また問題になったトイレ以外にも数学棟のすべてのトイレに芳香剤が2個ずつ配備されていた。

同じ階にある男子トイレが非常に臭いと聞き、怖いもの見たさ(嗅ぎたさ?)で行ってみたところ、確かに使い込まれた公衆トイレのようなアンモニア臭がした。

週記(2025/06/23-2025/06/29) - kotatsugameの日記

午後11時半くらいに帰宅。それから家のパソコンでプログラムを書き、数値計算を始めた。夜中ずっと試行錯誤を続けていたら朝方にはそこそこの結果がまとまったため、これもセミナー資料に追加した。

午前10時就寝。

07/17(木)

午後1時起床。すぐ登校して半から他のセミナーに出た。本当に何もわからなかった。

それが終了して、午後3時半から自分のセミナー。もっぱら昨日の計算について話していたら終わった。計算結果よりはその理論的な話。別に難しいことをしたわけではないが、ちょうど良い理論付けができているので、ずいぶん久しぶりのちゃんとした進展になったはず。

午後5時終了。学食で食事して、院生室に行き先月の集中講義のレポート課題に手を付けた。来週金曜日が締め切りだが、来週一杯は学会参加のためあまり時間を割けない見込み。

演習問題とその解答を見やすく表示するため、tcolorboxを使ってみることにした。しかしなぜかうまく表示されない。Geminiを問い詰めつつしばらく格闘してみても全然ダメだったが、後輩のTeXファイルを貰って丸ごとコピペするとちゃんと表示される。そこから記述を削除していき、ついに原因が判明した。graphicxパッケージを読み込む際のオプションにdvipdfmxを付ける必要があったらしい。

午後11時に帰宅して、半からCF #1037 div.3に出た。

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

Aは最小の文字。Bは適当に。Cはできるだけ小刻みに上がっていく。Dは貪欲が正当。Eはa_i=\operatorname{lcm}(p_i,s_i)でOKかチェック。Fは根付き木にして、各頂点について子の情報を集計しておく。取得も更新も親だけ気にすればよい。

Gは要素をdistinctだと思い込み、中央値と右端または左端を固定して、逆の端を限界まで伸ばしMINを見る。正確には「中央値がv以上」という条件にした。これだと値を\pm 1に置き換えた際の累積和で簡単に記述できる。

全完、コンテスト終了直後は3位。しかし上二人のFが後からopen hacking phaseで落とされて優勝した。隣接する頂点の情報を集計する問題は、次数の大小で分けてクエリごとにO(\sqrt m)個の頂点を見ることが多いが、今回のようにグラフが木の場合は高々1頂点にできる。そうしていなかった人たちが落とされたようだ。

また、Gは区間長の偶奇によって累積和が0以上なのか1以上なのか異なるため、コンテスト中はそこを気にしていたが、パリティを考えれば0以上で書いてしまってOKだということをYouTubeコメントで指摘してもらった。

www.youtube.com

ハーメルン胡蝶の夢、或いは不労所得の夢」を読んだ。最近読んだ「告知事項(隣人がVtuberです)」と同じく逆行とVTuberを扱う話だが、こちらは主人公自身がVTuberになっている。設定は良いものの主人公のメンタルの不安定さがちょっと気になる。

syosetu.org

午前5時就寝。

07/18(金)

午前9時起床。

登校して後輩のセミナーに参加した。前回よりは何をしていたか分かったと思うが、特に言えることもなく、ただ聞いているだけに終わった。それにしても1週間に2回セミナー発表をするのはかなり大変そう。

セミナーが正午に終わったあと、しばらく待ってピークを終えた学食で食事。それから院生室で集中講義のレポートに取り組んだ。前半は結構簡単に解ける。後半は難しめだが、夕食後に後輩と相談して、さらに数問解けた。雰囲気は同じだし、手を動かせば残りも解けそうに見える。

夜は久しぶりに麻雀の卓が立った。今日の後輩のセミナーに参加していた一人が打てるそうなので、わざわざ合同棟の院生室から数学棟に来てもらって卓を囲んだ。3半荘打って、着順は覚えていない。めくり合いに連敗したりしてほとんど上がれなかったものの、なぜか放銃もほぼなく、2着か3着を繰り返していたはず。

夕食が早かったので腹が減り、購買でカップ麺を買って食べた。院生室で食べるとお湯が常備されているしカップのゴミを気にしなくてよいし、かなり楽。

それから急激に眠気が来て、椅子を並べて横になったら思いっきり寝てしまった。気づいたら午前2時前。まだ院生室には二人残っていたが、ちょうど帰り支度を始めたところで、自分を寝かせておくか起こすか迷っていたらしい。

帰宅してから後輩と相談して解いた分のレポートの清書を行った。午前6時半就寝。

07/19(土)

若干の中途覚醒がありつつ午後5時起床。長い間布団でゴロゴロし、食事して、午後9時からABC415に参加した。

Japan Registry Services (JPRS) Programming Contest 2025#2 (AtCoder Beginner Contest 415) - AtCoder

Aはよい。Bは出力形式が特殊。CはbitDPっぽく。Dは瓶A-B本とシールを引き換えていると思うことができる。実はA-Bの昇順に操作できるだけ操作するのが正当。Eは左上ではなく右下からdpするとうまくいく。Fは区間長や両端点の情報を区間更新の遅延セグ木で管理した。

Gは難しかった。瓶A-B本と引き換えに答えをB増やすものと思ってみる。瓶が残り\max A本を下回らないうちは、容量が非常に大きい個数制限なしナップザック問題になっている。基本的には「効率」B/(A-B)が最も大きい行動を繰り返すのがよいだろう。

Bが同じならA-Bが小さいものを残すなどの方法で、行動を300種類程度にすることができる。また、B_i/(A_i-B_i)\ge B_j/(A_j-B_j)のとき、行動jA_i-B_i回行う代わりに行動iA_j-B_j回行うとしてよいため、効率が最大でない行動はそれぞれ、高々300回程度しか行わないことになった。

しかしこの評価では容量3003程度のナップザック問題を解く必要があり、まだ十分でない。しかしコンテスト中は3002になっていると勘違いし、実際そのまま通った。

複数種類の行動を一気に組み替えることを考えてみる。効率B/(A-B)以下の行動を合計でA-B回以上行うなら、適当に並べてコストの累積和\bmod{(A-B)}鳩ノ巣原理を適用することにより、ある区間のコストがピッタリA-Bの倍数になるとわかる。そこを置き換えても損しない。これで効率が最大でない行動は合計300回程度しか行わないことがわかり、先ほどの容量を制限したdpの正当性が示された。

全完32位。Gに32分かけたのがダメダメだった。あんまりナップザック問題であることを意識せずに考察していたのがよくなかった。

www.youtube.com

動画公開準備でタイムスタンプを作っていたらギリギリになったが、午後11時半からCF #1038 combinedに出た。

Dashboard - Order Capital Round 1 (Codeforces Round 1038, Div. 1 + Div. 2) - Codeforces

書く

www.youtube.com

日記を書いて午前7時半就寝。

07/20(日)

午前10時起床。今日から来週金曜日まで、国際会議「FPSAC」のため北海道大学に行く。3月に2回行ったばかりなので結構な頻度だ。

手早く荷造りをして午前11時過ぎに出発。なんとスーツケースのキャリーバーが引き出せなくなっていることが判明し、頑張って持ち上げて運ぶ羽目になった。

仙台空港に到着し、チェックインと保安検査を済ませたあと、ラーメン屋「だし廊」で食事した。前から気になっていたので来られて嬉しい。仙台空港限定のトビウオ油そばは、麺が細麺だったので油そばとして少し物珍しさを感じた。タレが少なかったのでかなり入念に混ぜた。美味しかった。

搭乗ゲート付近にラーメン屋「だし廊」があるのを見て、ここで朝食を摂ればよかったなと思った。

週記(2025/03/24-2025/03/30) - kotatsugameの日記

午後1時20分発の便で新千歳空港へ。そこから電車で札幌駅へ向かい、スーツケースを持ち上げてヘトヘトになりながら今日泊まるホテルへたどり着いたら、午後4時だった。睡眠時間確保のためすぐ仮眠に入った。

なかなか起きられず、気付けば午後6時を回っていた。学会前日の今日は午後5時から会場でwelcome receptionがあるそうだ。参加費が無料なのでそう大げさなものではないだろうと思っていたが、調べたら着席形式のパーティーの参加記が出てきて、果たして遅刻が許されるのか不安になる。恐る恐る会場に向かった。

広大な敷地を持つ北海道大学だが、今回の会場は学術交流会館という、最も駅に近い建物になっている。駅北口のホテルから歩いて10分ほどで着き、受付で学生スタッフから名札とノベルティを受け取った。

この名札は3月初めの「数学総合若手研究集会」と同じつくりで、当時ホルダーを回収されたからそれも再利用したのだろう。そもそも学会の予行演習として研究集会側に貸し出された名札ホルダーだった、という噂も聞いた記憶がある。

結局、welcome receptionは出入り自由の立食形式だった。同行者もいないし発表者の知り合いもほぼいないので、寄る辺ない気持ちで会場をうろついていたが、3月に知り合った方を見つけて挨拶することができた。あとはその流れで、周辺に固まっていた日本の学生たちと過ごしていた。

知り合いができて腰を落ち着けると気も大きくなるもので、目が合った海外の方に積極的に話しかけてみたものの、英語があまり聞き取れないし語彙も全然口から出てこないし、コミュニケーションには失敗気味だった。

食事はオードブル5皿・サンドイッチ4皿・寿司を一セットとして、計九セットが部屋にぎっしり並んでいた。ソフトドリンクや、自分は飲まなかったがアルコールもたくさん。学会全体で参加者が300人くらいいるとのことで、全員来ても大丈夫なくらい用意したのだろうか。当然そんなわけはなかったし、そもそも部屋に入りきらないだろう。最終的には大量に余っていた。

午後8時半くらいに解散。ホテルに戻り、午後9時からARC202 div.1に出た。

AtCoder Regular Contest 202 (Div. 1) - AtCoder

Aは、数列を最大値vで分割すると、残ったそれぞれの区間を操作でvのみにする必要がある。何回の操作でいくつのvになるか再帰的に求めていくことができる。ペナ率が高かったのでしばらく間違いを探していたが、結局そのまま投げたら通った。vに揃えるところで一旦ストップするような解法だったのが良かったらしい。vが四つあったとき、先に真ん中二つをマージしてはいけない。

Bは問題を見てすぐ実験を始め、同じ行だと\pm 1のどちらを選択するかに綺麗なパターンがあることに気づいた。本来はここで考察を行い、なぜそうなっているのか理解するべきだったのだが、そのまま実験だけでさらなる条件を探しに行った結果、とんでもない時間がかかった。

Wが奇数のときは簡単で、\pm 1が行ごとに完全に一致するため、パターンがかなりシンプルになる。グッと睨むとH個の\pm 1の和がWと互いに素であればよいことが判明し、実験と一致した。

Wが偶数のときは\pm 1が交互に現れる行も存在する。どちらが先に現れるかは問題でないらしい。これを0として扱い、H個の-1,0,+1の和がW/2と互いに素であればよいことを何とか見抜いた。数え上げはcombinationを使う方法がわからなかったため、FPS(x^{-1}+2+x)^Hを計算した。

100分弱かけて辛うじてAC。この時点でBもCも100人以上に解かれており、絶望しながらCへ進んだ。もう考察で何とかする時間も気力もないため、レピュニット数のWikipediaを読みつつ実験を始めた。

m\mid nならR_m\mid R_mらしいので、素因数分解のようなことができそう。R_{p^e}で割れるだけ割った残りが互いに素だったりしないかと期待したものの、これは不成立だった。しかしどこで不成立になっているか見た感じ、約数を列挙してその「寄与」を取り除いておくのはうまくいきそう。

このくらいで残り時間が数分になったため、実験はやめて書き始めた。自身の約数の寄与で割れるだけ割った値を、新たに自身の寄与としてみる。ギリギリで実装を終え、サンプル1と2が正しいことまで確認し、サンプル3は最初の1行だけ見て、投げた。ほとんど何もチェックしていないに等しかったが、なんとAC。残り1分半だった。

3完69位でパフォーマンス2672、レートは2885→2865(-20)。結構痛いがCが間に合って本当に良かった。

早速明日がポスター発表の本番である。自分の発表自体は何とかなるかなと楽観的に構え、見て回る時間がないであろう同日の発表をチェックした。午前2時半就寝。




以上の内容はhttps://kotatsugame.hatenablog.com/entry/2025/07/28/234432より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14