以下の内容はhttps://kotatsugame.hatenablog.com/entry/2025/08/04/234458より取得しました。


週記(2025/07/28-2025/08/03)

07/28(月)

午後2時過ぎ起床。

シャワーを浴びて午後3時半からインターン先定例会に出席した。進捗はなし。勉強会は選挙における議席配分という、参議院選挙を終えたばかりの今にぴったりな話題だった。人口がきれいな整数比になる選挙区がある場合、総議席数をピッタリ配分できないケースがあるのではないかと気になってしまうが、そういう超特殊なケースが議論されることはほぼない。ただ、そういう場合の決まり事はちゃんとあるそうだ。

学食で夕食を摂り、生協でラノベを購入。ついでに棚の陳列を覗いたら、まだ注文していない7月末発売のラノベが置いてあった。そろそろ新刊チェックをしなければならない。

帰宅してからはずっと先々週・先週の週記を書いていた。結局先週の分は全然間に合わず、もう片方だけ投稿。この調子でずれていくとまずいので、来週こそ頑張りたい。

さらにしばらく週記を書き進めて、午前4時就寝。

07/29(火)

午後0時半起床。

ラノベ「モンスターの肉を食っていたら王位に就いた件」5巻を読んだ。面白かった。前半は主人公が不在で、後半でも期待していたほどの戦いぶりは拝めなかったものの、その代わりにヒロインたちが散々暴れまわってくれた。6巻は少数精鋭で帝国に逆侵攻する話。いよいよ主人公が無双してくれるものと期待したが、作者のツイートによればヒロインの一人カサンドラがメインとのことでちょっと違うかも。でもまあ、それはそれで面白いのは確かである。

先々週の週記のARC部分を追記していたら夜になっていた。ゲーセンに行こうと思っていたがそんな時間でもない。そこでラノベの新刊チェックを行うことにした。タイトルと作者しか公開されていない新刊の情報を得ようとネット小説を確認しに行って、うっかり戻ってこられなくなりかけたりしつつ、未明までかけて20冊注文した。

合間に熱中していたのは「稼ぎの少ないオカルト事務所所長、VTuberになる」。40話近くまで読み進めたので、1巻の内容はカバーしてしまったかもしれない。男一人女二人のトリオで際どいくらい仲良くしているのに、男がポンコツ愛されキャラのため焦げ臭くならない、という設定がかなり好みだった。設定だけでなく、実際にも微笑ましさを感じる。

syosetu.org

つい先日、ハーメルン「ようこそ孔明のいる教室へ」で連載されていたエピソードのおよそ半分が削除されてしまった。以前からストーリーを批判するようなコメントがあったそうで、展開を変えて再スタートするとのこと。自分は元々の話も大好きだったので、読めなくなったのを悲しんでいたが、旧バージョンとして再投稿されていたのを知った。ありがたい。

syosetu.org

朝までずっとペンシルパズル「波及効果」を解いていた。

午前8時25分ごろロシアのカムチャツカ半島付近で巨大地震が起こり、少しして宮城県にも津波注意報、次いで津波警報が発表された。住んでいるところまでは来ないはずなので、特に対応はせず。

午前11時就寝。

07/30(水)

午後5時起床。徒歩でゲーセンに向かった。立ち食いそばを食べてから閉店まで27クレプレイ。

今日も相変わらず新曲の理論値埋めをしていた。本日最初のプレイでは精度がボロボロだったが、バージョンアップで判定がズレたとの噂を思い出して判定Bを-0.8から-1.0にずらすと改善。その後、理論値を七つ出すことに成功した。ブルアカコラボの「彩りキャンバス」と「Unwelcome School」には特に苦労した。

「彩りキャンバス」は冒頭が苦手すぎる。出鼻に赤を出したときは捨てゲーするのも最後までプレイしきるのも辛い。幸い残りのパートには特に癖がつくこともなかったため、回数をこなして冒頭の成功テイクを増やしたら出た。

「Unwelcome School」は、鍵盤は通るのに最後の腕を交差させて取る地帯が全くできなくてびっくりした。ノリノリになれる地帯のくせして、いざノリノリでプレイするとすぐ赤まみれになってしまう。音ゲーであることを思い出して音楽をちゃんと聴くこと、また細かい点だがフリック直後のノーツを逆の手で取ることを徹底すると改善された。

73小節

帰りに油そば屋に行ったらなんと満員。仕方ないので近くの中華料理屋「杭州園」に行った。ドンキにも寄って帰宅。

夜中はまたしても「波及効果」に血道を上げていた。ネットの問題集に乗っていた最大サイズ、30×45を5h時間以上かけてクリア。ただひたすら疲れた。

午前10時就寝。

07/31(木)

午後6時起床。布団でラノベを読んでいた。

午後11時半からCF #1040 div.1。

Dashboard - Codeforces Round 1040 (Div. 1) - Codeforces

書く

www.youtube.com

ラノベ「よって、初恋は証明された。」を読了。かなり面白かった。理系のキャラたちが活躍する話にしては珍しく、数学の存在感があまりない。主人公、ひいては作者は生物学に造詣が深いようで、知らない物事がたくさん出てきて興味深かった。日常の謎を科学的に解決するというストーリーであり、ラブコメらしいシーンもあればかなり不穏なパートもあったりして、魅力的なキャラたちの活躍がいろんな雰囲気で楽しめた。

シャワーを浴びて寝るつもりだったが、夕方から雨が降るらしいので、今のうちに用事を済ませておくことにした。まず、先週国際会議から持ち帰ってきたポスターを院生室に安置。ついでに家に死蔵されていたボドゲをいくつか持って行った。

自分のポスターを回収

週記(2025/07/21-2025/07/27) - kotatsugameの日記

帰りに生協に寄ってラノベを購入。また帰省するための新幹線を取ろうと思ったら、折り悪くシステムエラーが発生していた。なんと08/05まで復旧しないとのことだったので、後日みどりの窓口まで出向くことにする。さらに学食で食事して帰宅。そのままの勢いでゴミ出しまで済ませた。

Kaggleでコードゴルフのコンペが始まったらしい。興味はあるが、気力があるだろうか。

www.kaggle.com

午後0時半就寝。

08/01(金)

午後6時半起床。

7月の読書記録を投稿した。昨日、というか今朝、駆け込みで9冊買ったのを7月分に算入したため積読の増分が多く見えるが、そもそも最近は注文する量を減らしていることもあるし、8月分と合わせればほどほどに落ち着いてくれるのではないかと思っている。

仙台駅に向かい、昨日取れなかった切符を取った。みどりの窓口はいつの間にか整理券方式になっており、待合席まであってびっくりした。待ち時間は以前までとほぼ変わっていないはずだが、整理番号という形で回転率を可視化されると、かなりのペースで人を捌いていることが分かった。

今日から明後日まで、仙台ではマジカルミライ2025と、それに付随する企画展が開催される。仙台駅にもボカロの法被を着たりぬいぐるみを持ち歩く気合いの入った方がちらほらいた。果たして関係があるのかはともかく、アーケード街もゲーセンもかなり混雑しており、名掛丁のタイステもGiGO仙台もチュウニズムが全台埋まっていた。

ところがクリスロードのタイステに行ってみると、打って変わってチュウニズムに誰もいない。グッズキャンペーンを実施していない店舗だからだろうか。ともかく自分にとっては好都合であり、この店で閉店まで21クレプレイした。新規理論値三つに加え「Crossmythos Rhapsodia」赤のAJを出した。

終電が終わった時間でもまだ観光客が多い。アーケードに七夕飾りを取り付ける準備をしているのを見て、七夕まつりを見に来た人々かとも思ったが、それにしては数日早い。やはりマジカルミライか。

一昨日諦めた油そば屋で食事し、ドンキに寄って帰宅。ありえないくらい湿度が高くて体中びっしょりになった。

今日も今日とて「波及効果」。以前紹介した問題集に載っている問題をすべて解いた。

puzzle-laboratory.hatenadiary.jp

さらなる問題を求めてPuzzle Square JPに進出してみたものの、なんだか雰囲気が違う。こちらの問題は盤面が小さく、また難しくて、これぞパズルという感じの頭の使い方をする。比べると上の問題集は、難しいというより手間がかかるという評価のほうが正しいだろう。一般には褒め言葉ではないかもしれないが、自分が熱中していたのはまさにその手間だったのである。

https://puzsq.logicpuzzle.app/?kind=22

午前10時就寝。

08/02(土)

午後8時起床。

UC 3rdシーズンのFinalsの進出条件が発表され、また最終的なレーティングも出ていた。我々のチームjapan406364961は……10位!ギリギリセーフ!7位から13位までほとんど差がない中、何とか滑り込むことができた。

ucup.ac

午後9時からABC417。

https://atcoder.jp/contests/abc417

Aはよい。BはO(NM)かけた。Cは移項すれば終わり。i\lt jも重要な条件だと思っていたが、後から考えてみるとAが正なのでj\le iは条件を満たさない。Dはテンションが\max P+\max A以下まで下がるタイミングを二分探索で求め、それ以降はあらかじめすべて前計算しておいた。結構面倒。

Eは前から貪欲。判定をO(N+M)でするのは間に合わないと思い、bitsetを使ってO(N^2/\mathrm{wordsize})にしたが、制約を読み間違えていただけだった。Fは直感的には区間の平均を代入しなおすだけでよさそう。とりあえず書いてみたらサンプルが合ったので、そのまま投げた。

Gは文字列に対してクエリで聞かれているインデックスの集合を管理し、マージテクでまとめていく方針を考えた。集合を二つに分割する必要があるが、ここはマージテクの逆で、両端から同時に境目を探索し先に見つかったほうだけ切り離すと速くなる。一度分割したものがもう一度集まるときには文字列の長さが半分になっているため、計算量は抑えられているように見える。

証明はできなかったものの自信があったので書いてみた。しかしTLE。苦し紛れの高速化として、文字列の分割が発生しない間飛ばし、最初に1000回ほど愚直に操作してみたところ、3703msまで一気に改善して通った。

85分2ペナで全完、29位。Gはどうやらmapのclearが重いらしく、マージ後に元のmapをclearするのを止めてみたら5710msで通った。さらに一時変数として使っているmapもあらかじめすべてグローバルに確保しておき、デストラクタ呼び出しを避けてみると、4564msまで速くなった。その分メモリ使用量は8倍になったが、セーフ。

そういえば今日のC問題はABC166-Eと制約を除いて一致しているらしい。難易度のインフレが盛んに言われているが、納得せざるを得ない。自分が保持していたAWKの最短コードを確認すると1B改善したため、両方に提出しておいた。また、久しぶりにAとBもNibblesでコードゴルフしておいた。

https://atcoder.jp/contests/abc166/tasks/abc166_e

www.youtube.com

ラノベ「恋愛魔法学院」3巻を読了。面白かった。主人公が自分より強い相手との戦いを通して一足飛びに成長していく。しかし上には上がいるというわけでもなく、主人公より明確に強いとされているキャラは今のところ一人だけというのがちょうど良かった。

ヒロインの一人であり、婚約者がいながらも主人公に惹かれていたソフィアの身の振り方が円満に決まったのも嬉しいところ。一方、この巻から登場したキャラが主人公に恋心を抱くヒロインたちを仕切りはじめたのにはちょっとモヤモヤした。

文章についても注目すべきところがあって、やたらと句点で区切る癖が改善されていた。もともと読みにくいわけではなかったから、最終的には作者の好み次第だとは思っているが、2巻までとはスタイルが明確に異なっていたため、意図して調整したものとわかる。

Puzzle Square JPの星3あたりを重点的にプレイして、難しい盤面への戦い方が少しずつ身についてきた。例えばある領域において2の入るマスが1×2の形をしていた場合、その両隣には2が入らないことが分かるが、この発展として、2の入るマスの候補が座標で(1,3),(2,1),(2,2)のみだった場合に(2,3)2を否定できる。

午後0時半就寝。

08/03(日)

午後8時起床。少し日記を書いて、午後9時からARC203 div.2に出た。

https://atcoder.jp/contests/arc203

Aは各チームに負けまくる人と勝ちまくる人を作る。勝ちまくるほうは基本的に\lfloor M/2\rfloor人になって、Mが奇数のときは1チームだけ一人増やせる。

Bは1が二つあったときにその間を0が自由に移動できることに注目する。ABをどちらもソートすることを目指すと、なんと\sum\ge 2なら必ず可能だということが判明した。\sum=0は自明で、\sum=1は若干不規則。

CはK=H+Wが本質。最短経路が二通りあるケースを2×2を圧縮することで数え上げ、これを取り除けばOKかと思いきや、サンプルが合わなくて横転した。経路長がH+Wピッタリになるケースがある。2×2でU字に動く箇所がある、という誤った特徴づけをしてしまい、サンプルが合わないままかなり長い時間を過ごした。

諦めて愚直を書き、2×5において間延びしたS字状に移動する経路があることを発見。また特徴づけもそのようなS字の存在でうまく表現でき、S字のサイズを決め打って数え上げるコードを書くとようやくサンプルがあった。やっとの思いで提出するとTLE。制約を振り返るとO(H+W)が許されていなかったため、慌ててWolfram|Alphaにお願いし、無事O(1)の式をいただいて通した。

残り30分でD。01があれば1をいくらでも増やせること、00があれば0をいくらでも増やせることを観察すると、やるべきことが見えてくる。A0が二つ以上連続している箇所はB00と一対一に対応しなければならないため、そこで区切って、間は1だけでOK、端はちょっとした場合分けが必要。また00が存在しないケースも個別に解いた。基本的には端の2文字だけで全部作れる。

実装にはランレングス圧縮した区間を管理する必要があるかと思っていたが、よく考えてみると0の個数と0が二つ以上連続している成分の数だけ分かれば、あとは端の数文字を見て答えられる。後者については00000の差を見ることで判定できる。これで実装が非常に簡単になり、時間内にACできた。

110分1ペナで4完、31位。Cに71分かけてしまったが、CとDを両方通した人が少なかったため巻き返しにある程度成功した。注意力不足で1ペナつけてもなお、ペナルティが少ないほうだったのも良かった。

www.youtube.com

昼まで日記を書き、「波及効果」を解き、ラノベを読んでいた。午後0時半就寝。




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

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