04/14(月)
午後3時半ちょっと前起床。インターン先定例会に出席した。先週の定例会は欠席したので、このタイミングで先々週の進捗を報告。
勉強会は生成AIのみでAHC045に取り組んでみた話だった。基本的なコードは書けるものの、その結果を見て改善するのが苦手という結論。そういえばAlphaCodeのpreprintにも、最初の数回のコード生成でACできない問題に対しては試行回数を増やしてもあまり効果はないというデータが載っていたような記憶がある。後者は試行錯誤とは少し異なるかもしれないが、生成される回答にもっと多様性を持たせることができればよいのかもと妄想した。
先週の週記を書いて日付が変わる前に投稿。そのあとすぐ寝た。
04/15(火)
朝方2時間ほど目を覚ましていた記録があるが、起きて布団から出たのは午後4時前だった。
3週間前の週記に本の感想を書けていなかったので、追記した。この週5冊読んだうち4冊に対しては正直なところもう印象すら忘れてしまいかけていたが、「魔王は扇子で蕎麦を食う」がめちゃくちゃ面白かったのは確か。ラストを少し読み返しただけで初見時の興奮がすぐ蘇ってきた。
「魔王は扇子で蕎麦を食う」を読了。 非常に面白かった。
週記(2025/03/24-2025/03/30) - kotatsugameの日記
ラノベを読みつつセミナー準備。先週できなかったので今週こそはと意気込んでいる。というより焦っているほうが近いかも。結局、道具に関するいくつかの定理を認めることにして、とりあえず論文の主要なパートを扱うこととした。
「アラサーがVTuberになった話。」3巻を読了。面白かった。2巻あとがきによれば、この巻に収録されたFPS大会のエピソードはWeb版でかなり人気だったらしい。実際非常に良かった。細かいところだが、ごくまれにアバター越しに表れる主人公の表情変化の描写が好み。そういえば、作者のとくめいさんはFPS大会のカラー口絵をTwitterのヘッダーに設定しておられるが、3巻が出てから結構経つ今もそのままにしているあたり深い思い入れを感じる。
午前7時半就寝。
04/16(水)
午後3時起床。外出し、大学付近でいくつか用事を済ませた。マスク・新幹線の切符・ラノベ購入、散髪。大学の床屋は新入生で混み合っているかと思ったが、今日はかなり空いていた。学食で食事して帰宅。
午後10時までかけてセミナー準備を終わらせ、それから秘密の5hコンを走った。日記に書けることがない。
寝る前に少しラノベを読んだ。1文字横倒しになっているのを発見してびっくりした。活版印刷?
— こたつがめ (@kotatsugame_t) 2025年4月16日
午前8時前就寝。
04/17(木)
正午起床。登校して学食で食事した。
午後1時半からセミナーを2時間。昨年度から参加者の顔ぶれが少し変わり、院生の友人たち数名に参加してもらった。非自明な行間を一つ見落としていてその場で解決できなかったが、それ以外はまあ何とかなったのではないか。準備した分をすべて発表し切って終了。今後しばらくは、今日ただ認めることとした定理を扱っていきたい。
院生室に行き、友人のPCに立体四目並べのビジュアライザを導入した。立体四目並べのAIを作った人と同じ人が作成したものだが、確かAIを作るためにプログラミングを始めたという話だったので、そこからWebアプリ作成まで学習を進めたということに途轍もない気合いを感じる。
LinuxとmacOSでの動作を確認したということだが、残念ながらWindowsではそのままだと動かなかった。どうやらCSVファイル読み込み時に謎の空行が入ってしまうらしい。まあ改行コードCRLFを2行開いているものと認識してしまっているんだろうなと思いつつ、CSVを読み込んだ後に空行を取り除くことで対応した。
GitHub - mikanakim/kifu_kanri_app: 立体四目並べの棋譜管理アプリです
立体四目並べの強いAIがつい最近公開されていることを教えてもらった。
週記(2024/12/09-2024/12/15) - kotatsugameの日記
学食で食事したあとまた院生室に戻ったが、大学を離れたはずの同期が遊びに来ていると聞いて再度学食へ。修了して内定も出ていたのに、何を思ったか就職を1年先延ばしにして、今年度は大学の研究生という身分で過ごすらしい。知らない制度だ……。話を聞くと正規の学費よりはまあまあ安いくらいのお金がかかるようだった。
たまたま合流した友人も含めて同期が4人集まり、学部時代の話で大変盛り上がった。研究生の彼とは学部1年の初日だったかに仲良くなり、自分がゲーセンへ行くのについてきてくれたので目の前でチュウニズムをプレイ、というイベントがあったはず。今思い出すとなかなか攻めたことをしているが、このことは彼も覚えてくれていて感動した。そんな仲であっても、彼も自分も大学をサボりがちだったので、講義室で顔を合わせた経験はあんまりない。
午後8時になって学食が閉まったため院生室へ引き上げ、麻雀を1局。連荘が続いたので東風戦のみとなったが、かなりツイており50800点で1着となった。午後11時帰宅。
AtCoderでのコード提出時にCAPTCHA認証が必要になったらしい。改行コードをCRLFからLFのみにする拡張機能「AtCoder dos2unix UserScript」も動かなくなっていた。まあ仕方ない。
ジャッジキューの処理遅延と今後の対応につきまして - AtCoder
GitHub - kmyk/atcoder-dos2unix-userscript
日付が変わる前に就寝。
04/18(金)
午前8時起床。日記を少し書き、シャワーを浴び、ゴミを出して、午前11時に家を出た。一昨日買った新幹線切符を使って今日から日曜日まで実家に帰省する。
新幹線の時間まではかなり余裕を持っていたので、仙台駅東口のゲーセンで2時間ちょっとチュウニズムをプレイした。手袋がない中、頑張って理論値を5個出した。
12クレ
— こたつがめ (@kotatsugame_t) 2025年4月18日
理論値5個 pic.twitter.com/K19KTrZxFh
午後2時くらいにゲーセンを出た。新幹線の時間まで30分しかない。昼食抜きを覚悟していたが、いつも行列ができている丸亀製麺が今日に限って待ちなしなのを発見したため、そこで済ませた。
新幹線車内では寝たり、ハーメルンを読んだり。上りの東北新幹線は、一昨日はまだE席が残っていたのに今日はもう満員だった。下りの北陸新幹線はそこそこ。黒部宇奈月温泉駅からは父の迎えで帰宅した。この日北陸地方は非常に暖かかったようで、テレビから28度超えなどと聞こえてきてびっくりした。
Midnight Code Cup予選通過の連絡が来た。しかし24時間コンテストを行うのにホテルが2日分しか提供されないし、何より旅費がTop3のチームと学生にしか出ないらしい!「We aim to cover trip expenses」と書いてあるだけだったので、やっぱり無理でしたという話なのだろう。ただチームで相談して、決勝には変わらず参加することとなった。自腹を切るという決断を下してくれて本当にありがとうございます。
実家に到着し、食事と入浴を済ませたあとは、夜中まで飲酒しつつハーメルンを読みつつゴロゴロしていた。午前3時就寝。
04/19(土)
午前10時過ぎ起床。すぐ昼食のため回転寿司屋へ向かった。起き抜けにたくさん食べてかなり満腹になった。写真3枚目にあるのは飛騨牛の寿司。先に食べていた母や姉が大絶賛していたので、最後の一皿として頼んでみた。実際美味しかったが、もうちょっと塩気があったりわさびが効いていたりするとより好みだったかも。
— こたつがめ (@kotatsugame_t) 2025年4月19日
帰宅してしばらく食休みと称し転がったあと、礼服に着替えて祖母宅へ。
今日は祖母の三回忌であり、それに出席するのが今回の帰省の目的であった。一昨年亡くなり、昨年一周忌があって、今年は三回忌。数えと満が入り混じっており混乱しそうになるが、計算で覚えるものでもないのだろう。このあとは4年空いて七回忌となる。そのときは両親だけで執り行うつもりだと父が話していた。
一人で礼服を着たが、かなり失敗した。まず真っ黒のネクタイはあまり適切でないらしい。締め方も下手くそ。またネクタイピンの位置が上すぎた。さらにボタンをかけ間違えていたのが一番ひどかった。法要を終えたあとになってようやく気付き、父にもろもろ直してもらい、写真を撮った。
三回忌 pic.twitter.com/5YuF7N7SAN
— こたつがめ (@kotatsugame_t) 2025年4月19日
実家に戻ったあとは昨年同様会食へ。昨年の反省を活かして今年はコースのグレードを落としたそうだが、それでもなお完食できたのは自分ひとりだった。あとで写真を見比べてみたらグレードが落ちても品数・量が減っているわけではなかったので、仕方ない。また自分もやっぱり昼の回転寿司が効いていて、残り物を食べる余裕まではさすがになかった。
— こたつがめ (@kotatsugame_t) 2025年4月19日
— こたつがめ (@kotatsugame_t) 2025年4月19日
— こたつがめ (@kotatsugame_t) 2025年4月19日
帰宅して洗濯と入浴を済ませ、ABC402に出た。このあと家族で麻雀を打ちたかったため、G問題からは逃亡する予定。
A、Bはよい。Cは後ろから見るか前から見るか、苦手な食材が増えるのか減るのか大混乱。4通りのうち3通りまで書いてようやく当たりを引いた。Dはわざわざ太字で書かれている「直線」を「線分」と誤読してしまいかけたが、D問題にしては難しすぎると気づいて事なきを得た。EはbitDP。Fは半分全列挙。マージでミスして1WA。
G問題を開いて少し考え、予定通り逃亡した。28分1ペナで6完、最終順位は27位となった。
さて、麻雀。時間がなかったので自分は南2局が終わったところで抜けたが、その時点で42900点とトップに立っていた。めちゃくちゃ良い配牌で、両面待ちのダブルリーチをかけたのがハイライト。しかもなんと一発でロン上がりし、裏すら乗った。ピンフ・タンヤオもついて跳満の手。しかし残念なことに、うっかりタンヤオを見落として満貫で申告してしまった。
南2局で中座
— こたつがめ (@kotatsugame_t) 2025年4月19日
トップ、42900
ダブリー一発ピンフ裏 pic.twitter.com/6GJrGR9imS
午後11時半からCF #1018 combined。
Dashboard - Neowise Labs Contest 1 (Codeforces Round 1018, Div. 1 + Div. 2) - Codeforces
Aは最小値と最大値を持って前から構成。後ろからでもよい。Bは個全部取るのが
個、
個取るのが
個、
個取るのが
個。Cは行と列それぞれ独立にdpできる。
Dはまず奇数回出現する座標を探した。すると求める座標はその列
にあることがわかる。そこで、点灯している電球をすべてその列に移動させた。具体的には
を
に置き換えればよい。このとき奇数回出現する座標が求める答えとなる。
Eはよくわからなかった。基本的に転倒数を2ずつ減らしていきたいが、たまにできないことがある。まずBBやPPは無視することができ、また先頭にあるBと末尾にあるPも削除しておいてよい。このとき残ったPBPB...PBを手で解いて、得られた式に合うように補正すると通った。その前の提出では損するのが1回だけだと勘違いしており1WA。
順位表を見るとHが日本人にやたら解かれていたので、典型問題だと思って取り掛かったが、手も足も出なかった。唸っているうちにますます日本人のAC者が増えてきたので、自力で再現するのは難しい既出、特にローカルなサイトであるyukicoderで出題された問題だと判断したが、今度は検索が下手くそだった。
前の問題に戻る時間もなくそのまま終了。5完164位、2829→2780(-49)。もともとかなりレートが下がっていたので案外減らなかった。Eは転倒数が2減るとき1個空けたswapが行われていることに気付けるとよかったらしい。
H問題は「interval xor」でググると先頭に表示されたらしい。ちょっと考察を進めようとしたせいでconvolution等の余計なワードを含めてしまったのが間違いだった。またHを早い時間でACしている人の中にちゃんとwriterがいるため、そういう観点からも問題を探し当てられたのではないかと後悔している。真面目に検索ACをするぞという覚悟がなかったかも。
No.2990 Interval XOR - yukicoder
少し日記を書き、ハーメルンを読んで、午前4時就寝。
04/20(日)
午前10時前に起床。朝食を摂り、荷物をまとめ、母に黒部宇奈月温泉駅まで送ってもらった。帰りの新幹線を姉と合わせたため、早い時間に出発することとなった。代わりに仙台に着いてから仮眠を取る予定。
今日は上りの北陸新幹線が少し混んでおり、下りの東北新幹線はそこまででもなかった。
仙台駅に着いてからは、昼食をスキップしてスムージーだけ飲み、すぐ地下鉄に乗り継いで帰宅した。
— こたつがめ (@kotatsugame_t) 2025年4月20日
しばらくPCの前に座ってYouTubeを見たりしたあと、3時間ほど仮眠を取った。午後9時からAGC072。
AtCoder Grand Contest 072 - AtCoder
A問題に2時間、C問題に1時間かけて解けず、0完太陽。AtCoderのコンテストでは初めての経験であり、ついにこの日がやってきてしまったかという思い。順位は106位で、パフォーマンスは2134、レート変動は2931→2872(-59)だった。そもそも正の点数を獲得した人が少なく案外軽傷。とはいえこんなパフォーマンスを出すのは4年ぶりである。ここ2回の増加分をすべて打ち消してしまった。
Aはもう全然ダメ。何かでソートしようという思いはあったものの、ボタンが出現するまで待つ場合と待たない場合を合わせて考えるのが難しいというところで詰まっており、では状況を簡単にするため待たない場合だけ考えよう、という発想がなかった。従ってヒント3のでのソートすら分かっていなかった。代わりにやっていたのは、
と
の大小で分けて扱うというもの。全然関係なさそう。
Cは当たりの実験まで至れなかった。対称性から前半だけでよいこと、で分けて各マスを訪れた回数を観察するところまではすぐ分かったが、マスからマスへの移動というのを無視し、訪れた回数のみを直接求めようとして、ずっとエスパーに失敗していた。ヒント4を参考にマスからマスへの移動を出力してみると見事なパターンが出現して横転。こちらはupsolveしておいた。
「アラサーがVTuberになった話。」4巻を読了。面白かった。4巻後半のエピソードをWeb版と比較してみると、書籍版では解決にたくさんの人が関わっており、主人公の果たした役割というのが小さくなっているように感じられる。この点を少し不満に思っていたが、そもそも「主人公が救われる話」が物語のコンセプトだとあとがきで述べられており、今回は主人公も周囲の人に助けられる番だったのだと納得した。
しばらく日記を書いて午前9時過ぎ就寝。