週記(2024/05/06-2024/05/12)

05/06(月)

午後1時45分、執念で起床。午後2時からUniversal Cupのチームで5hのバチャを走った。今日は300iq Contest 1とやら。

Dashboard - 300iq Contest 1 - Codeforces

書く

先生からまたメールが来ていた。今度は2010年の論文の主結果が自分の結果を包含しているらしい。確認しに行ったところ、もう一目見て同じだと確信できるくらいの一致具合だった。主定理、爆破……。南無。

今更どこからこの論文を見つけてきたんだ、と思いつつ先週土曜日に見つかった論文の後ろのほうを読んでみたら、「主定理はこの論文の式〇から従う」と書いてあった。なんじゃそりゃ。ただconclusionの章を読むと「登場する変数が減ってシンプルになった」と言い訳していて、これには思わず納得してしまった。

翻って自分の主定理はどうかというと、登場する変数の数は変わらない。一方2式の間の双対性みたいな話は二つの論文のどちらにも見当たらなかったから、これが新規性だと強弁する余地はまだ残されていそう。もしかしたら現実が受け入れがたくてまともに論文を読めていないだけかもしれないが。

まあメインの結果が消えてしまったことに違いはない。先週と異なりなぜか今回は特にショックも受けず、日付が変わるまで淡々と週記を書き、投稿した。

その後セミナー準備。2010年の論文はいったん放置して、先週末から準備を進めていたものの続きに取り組んでいた。シャワーを浴びて午前4時くらいに布団に入り、3時間ほどラノベを読んで就寝。

05/07(火)

午後1時に三菱UFJ銀行から電話がかかってきた。Yandex Cupの賞金振り込みに関する確認で、何のお金か聞かれ大会賞金だと答えると、額(米ドル)・適用される為替レート・手数料が通達された。少ししてアプリで残高を確認したらもう入金されていてびっくり。レートは1ドル153.11円だったが、一週間前に一瞬160円を突破したのを考えるとちょっと惜しい気もする。まあ大会当日のレートと比較すると1万円以上上乗せされているので十分ラッキーか。

ちなみに、次の月曜日にはこの送金について書かれた書類が、銀行に登録しておいた住所つまり実家へと届いた。メッセージ欄にPAYMENT OF PRIZEとあったから、おそらく電話での質問はこれとの整合性を確認していたのではないかと思う。

もう一度寝直して、起きたら午後8時だった。しばらくスマホを触ってゴロゴロした後、コンビニに出向いてパンやおにぎりを買い漁ってきた。

さて、論文が崩壊してしまったわけだが、一方で学振の学内締め切りが来週月曜日に迫っている。今更システムにログインして申請書の作成を開始した。昨年の申請書は内容部分しか残していなかったものの、先生の研究者番号など調べなければならない情報がブラウザのオートフィル機能に結構残っていて、ホイホイ埋めていくことができた。

埋めたところでやる気が尽きた。申請書の内容は……先月別の支援プロジェクトのために書いたものがあるし、それを流用すれば何とかなるんじゃないだろうか。少し休憩と言い訳しつつラノベを手に取ったら、そのまま朝まで止められず4冊読了した。

「クラスで2番目に可愛い女の子と友だちになった」6巻。主人公のハーレム状態を嫉妬するモブ視点から始まり、トラブルの予感から陰鬱な気持ちに。しかしいざ変な噂を流されても主人公が周囲の目をあまり気にしていないため辛い話にはならなかった。最後に噂の元凶と話し合うシーンで性格の醜さを一方的に糾弾していたところにも、そういう身内以外への興味のなさが表れていると思う。なかなか苛烈だったが、なあなあで和解するよりは良かった。トラブル以外のシーンは相変わらず面白かった。

ネトゲの嫁が人気アイドルだった」4巻。3巻発売から丸2年空き、まさか続刊するとは思いもしなかった。内容は……怒涛のようにイベントが押し寄せてきて個々の印象があまり残っていない。文化祭のライブで失敗するとか、舐めていた相手にネトゲの対戦でボロ負けするとか、よく考えると好きではない展開があったように思う。読んでいるときはすぐ次のシーンに移るからあまり深く考えていなかった。

このシリーズは1年近く新刊がないので打ち切りになってしまったのだろうと考えている。

週記(2023/02/20-2023/02/26) - kotatsugameの日記

「才女のお世話」7巻。マネジメント・ゲーム後編は完全に主人公が無双していた。最高に面白かった。学園を飛び出して現実の企業・ビジネスマンとやり取りし、その中で存在感を示すシーンや、メイド長が主人公の才能の開花を見守るシーンは、あまりにも好物すぎて大興奮だった。ビジネス系の話だと大財閥を動かしたりする話を好んできたが、このくらいの規模の話もまた楽しいものだと気づくことができた。

続けて「才女のお世話」8巻。前の巻のピリピリした感じから一転しての日常回で、主人公の休日の生活を垣間見るのは楽しかった。途中で屋敷の護衛と組み手を行い、ここでもほぼ無双していたのが特に面白かった。そういう話ではないはずだが……。1巻ラストの護衛を倒し屋敷に侵入する展開は、ヒロインと結ばれることの困難さを示すだけだったはずなのに、いつの間にか格闘技の才能の証左となっていたようだ。詳しい描写まではもう覚えておらず残念。

午前9時半くらいから3時間ほどセミナー準備をして就寝。途中でABC346の賞品、アマギフ1万円が届いた。

05/08(水)

午後4時半起床。40分からサークルバチャに出た。今回は特に問題なく全完。10問目がマトロイドになることは知らなかったし気づいてもいなかったが、貪欲でいいだろうという直感で突き進んだ。

https://kenkoooo.com/atcoder/#/contest/show/be79177d-f3e6-41f4-8f07-93f8aa03b4e6

感想戦後、学食に行って夕食を摂った。帰宅後セミナー準備に向き合おうとするも、強烈な眠気に襲われて机に突っ伏し、2時間ほど寝ていた。まだまだ眠り続けそうな勢いだったが惰性でYouTubeやTLを眺めていたら目がさえてきた。

午後11時からようやくセミナー準備を始めた。今日は2010年の論文について読んで、整理。改めて自分の主定理が包含されていることも確認した。準備を終えたらシャワーを浴びて午前5時半就寝。

05/09(木)

午前9時起床。

富山県TopCoderのイベントが行われるらしい。今日。運営側の人が富山に住んでいるとやらで、そこでオンサイトイベントを開催したいという話は半年ほど前に公式Discordで出ていたのだが、その後今日まで一切のアナウンスがなかった。まあこの内容なら事前に知っていてもわざわざ行きはしなかったのでOK。

朝は曇りだが昼からは快晴の予定。パンを食べて原付で山に登った。

午前10時からセミナー。先々週の先生二人のうち一人は午前の部から、もう一人も午後の部から参加してくださった。内容は見つかった論文2本についてで、先々週からだと連続性がないのにありがたい話。自分の結果と関連する部分を話した。

学内の別の先生が二人いらっしゃってかなり緊張した。

週記(2024/04/22-2024/04/28) - kotatsugameの日記

午後1時前後の1時間食事休憩を挟み、午後4時までやっていた。解散直前に指導教員が学生の質問対応に行ったため、先生二人を見送った後は後輩と二人雑談していた。午後6時頃戻ってきたので今度こそ解散。

ホスフィンと連絡を取って学食で落ち合い、食事した後ホスフィンの研究室にお邪魔して学振の書類作成に取り掛かった。ホスフィンが先月書いた申請書にコメントをくれたので、それに沿って文面を考えていたが、調べものをしてばかりでまともに進まなかった。

日付が変わってから解散し、コンビニに寄りつつ午前1時前帰宅。だらけてかなり長い時間TLを眺め続けていた。シャワーを浴びて少し日記を書き午前5時半就寝。

05/10(金)

午前11時半に目を覚ましたら先生からメールが来ていた。2010年の論文の著者がさらに関係の深そうな論文を書いていたという話で冷や汗を書きながら読んだが、自分の研究とは方向性が違ったためセーフだった。

布団でしばらくゴロゴロした後、午後2時くらいに大学生協へ向かった。ラノベを買って食事し帰宅。その後午後5時まで論文原稿に手を加えていた。昨年度来た留学生に英語を校正してもらえたので、それを今反映し、今度は今年度来る留学生に送った。

昨日はホスフィンの研究室にお邪魔したため、今日は自室にホスフィンを読んで学振合宿を行う。このためにまず部屋をサッと掃除した。ホスフィンは午後7時頃到着。基本的には二人別々にPCに向かっていたが、途中1時間くらい研究計画について相談に乗ってもらった。

詳細は述べないが、信じられないくらい有意義な議論だった。研究対象が多少被っているからという理由だけでは説明がつかない。何か研究テーマを見出す汎用的なテクニックを実践しているような感覚を得た。修士のころからそういうものがあると聞いてはいたものの、それはもっと具体的なシチュエーションのもので、今みたいに「博士課程における研究」というロングスパンの話を考える際にも適用できるとは思っていなかった。

午後11時半からはCF #944 div.4に出た。部屋にホスフィンがいるので録画はなし。

Dashboard - Codeforces Round 944 (Div. 4) - Codeforces

Aはよい。Bはソートしたりそれをリバースしたりしてみた。Cは3月のパ件合宿1日目で見た。Dは/0*1*/に対してその左右にある01の連結成分を数えたが、冷静になると連結成分数から/01/がある場合1引くだけでよい。Eは二分探索で区間を求めて算数。Fは、整数の平方根の計算は怖いので避け、x=0,\dots,rに対しy区間をずらしながら求めた。

Gは4で割った商で分類するとその間は自由に交換可能だからソートするのが良い。Hは(x\land y)\lor(y\land z)\lor(z\land x)=(x\lor y)\land(y\lor z)\land(z\lor x)なので2-SATになる。この等式はわざわざ分配法則で示したが、そもそも意味を考えて右辺を見出したのだからそのまま突き進んでもよかった。

30分弱で全完し2位。

午前1時過ぎに連れ立って外出し、飲み屋街近辺の中華料理屋で食事した。華金ということでこの時間でもまだ人通りは多い。店については、料理の味は普通だが後ろにうるさい団体客がいたのでその分マイナスの印象を受けた。

部屋に戻り、帰宅するホスフィンを見送った後さらに書類作成を続けた。午前10時頃に切り上げて先生に送ったら、内容の添削ではなく自分の研究態度に対するダメ出しが返ってきた。言っていることは正論だがかなり強い言葉だったので最悪の気分になった。

寝て起きたら気が持ち直していることを祈り、午前10時半就寝。

05/11(土)

午後1時半起床。自分が寝たあとさらに一通メールが届いており、その文面はこれまでに増して強烈な言葉遣いだった。気分はどん底のまま、午後2時からUniversal Cupのチームで5hのバチャ。今日は月曜日に続いて300iq Contest 2を走った。

Dashboard - 2019 Summer Petrozavodsk Camp, Day 2: 300iq Contest 2 (XX Open Cup, Grand Prix of Kazan) - Codeforces

書く

ありえないくらい眠いが頑張って起きていた。午後9時からABC353に参加。

AtCoder Beginner Contest 353 - AtCoder

Aはよい。Bは頑張って問題文を読む。CはA_i+A_j\ge 10^8となる組を数える問題。DはA_jの寄与はすぐ求まり、A_iの寄与は下の桁数を全探索して計算する。Eは文字列をソートして隣接文字列のLCPを計算しておくと、二つの文字列のLCPがその間のLCPの最小値になる。つまり求めるものはすべての区間に対する最小値の総和であり、スタックを使う典型。

Fは見た目が面倒すぎてしばらく唸っていたが、最終的には綺麗に整理できた。答えの初期値を|S_x-T_x|+|S_y-T_y|として小タイルしか踏まない場合をケアした後、最初に踏む大タイルと最後に踏む大タイルを固定して考える。大タイル間の移動は、コスト2で斜めに飛び移っていくのが良い。ただしK=2のケースのみコスト3で二つ先の大タイルに行ける。これに気づけたのは、手で試した例が良かったのだろう。

Gは実家。\mathrm{dp}_i\pm C\times iをセグ木に乗せる。

29分でノーペナ全完、ペナ差で優勝した。コードゴルフはAをNibblesで書いたのみ。見つからなかったときに-1を出力するのが微妙に面倒だった。後から見たらfoldrでリストの先頭要素を取得するテクに初期値-1を渡すことで実現されておりびっくり。初期値を渡したらそれが先頭要素の代わりに出てくるだろうと思い込んでいたが、コードゴルフ用に調整された言語がそんな融通の利かない仕様である訳がなかった。

www.youtube.com

シャワーを浴び、日記を書いて午前4時半就寝。

05/12(日)

昼前に2時間ほど起きてハーメルンを読んでいたらしい。次に起きたのは午後8時。これも目覚ましによるものであり、起き抜けはまだ寝足りない感じがしていた。最近睡眠負債がたまっていたので、むべなるかな。

しばらくTLを眺めて眠気を振り払い、午後9時からARC177。

AtCoder Regular Contest 177 - AtCoder

Aは貪欲に使うのが良い。貪欲でない方法で支払うならその一部を額面が高い硬貨で置き換えることが可能である、ということから言える。Bは右の豆電球から順にi回Aを押し、i-1回Bを押すことで1にできる。Cはよく考えると、条件1のために青を紫にするのと条件2のために赤を紫にするのが完全に独立であるから、それぞれで最短距離を求めればよい。01BFSでO(N^2)となる。

Dは連鎖的に倒れた電柱の区間に分割するなど考えていたが、この方針はよくない。幅H以内の連結成分に分割して考えるのが正解。各連結成分は最終的に、ある電柱を境に左右に割れるように倒れる。そしてその境それぞれに対して確率を計算することも可能なので、あとはこれを成分ごとに整理し、適切に掛け合わせればよい。1点加算と全体積が必要で、ゼロ除算が面倒だったためセグ木を使った。

Eは配点を全探索して、得点が同じになるグループとグループ間の順序を列挙した。配点の最大値を30点までとしたところで4672通り見つかり、70点まで上げても増えなかったので、これで全部だろう。あとは列挙したグループ分けを全探索する。同じグループ内ではRが小さいほうに高い順位を割り当てることで誤差を最小化できる。ところが間に合わない。

グループに対しては属する人間が決まっているため、誤差は割り当てる順位の最小値に対する2次式で書ける。これを利用するとグループごとに毎回ソートしていた時間を削減できたが、Tが大きいケースで20sec弱かかりどうしてもダメだった。倍速になれば通ると思うと惜しい気もして、小手先の高速化に粘着してしまった。

4完30位。BとCは解法に比べて制約が小さく、本当に合っているのか疑心暗鬼に陥っていた。Eはグループ分けの間に包含関係が存在するケースがあり、細分化された方は考慮しなくてよい。このことを利用すると解説の通り113通りまで絞れて、余裕で間に合った。

コードゴルフはBのみ。Nibbles。Ai回、Bi-1回replicateして繋げるのではなく、ABi回replicateしてソートしinitを取ることにすると短かった。

www.youtube.com

その後は昼まで申請書を書き進めていた。先生に呼び出されていたので、シャワーを浴びて午後1時過ぎに登校。徹夜したため日曜日と月曜日の境目がないが週記はここで切っておく。