以下の内容はhttps://kotatsugame.hatenablog.com/entry/2024/08/19/222558より取得しました。


週記(2024/08/05-2024/08/11)

月曜日から木曜日まで、COSS2024参加(+前泊)のため京都にいた。

COSS2024 Home

08/05(月)

午前7時半起床。何とか起きられはしたが、1時間半という睡眠時間で1日行動するのはあまりに現実的でない。どうなるかと戦々恐々しながら荷物を持って家を出た。

駅の立ち食いそば屋で食事して午前9時の新幹線に乗車。車内では先週の週記を書いていた。東京駅でカフェイン目的にアイスカフェラテを買いつつ、東海道新幹線に乗り換え。こちらの車内では1時間弱仮眠を取った。Android標準搭載のアラームにマナーモード機能があり、選択すると振動だけになってくれることを知った。

午後1時に京都到着。ホテルに荷物を預け、ユニクロで日傘を買った。

前泊の移動を早めに済ませたのは、鞍馬山に行かないかというホスフィンの誘いに乗ったもの。まずそのホスフィンと合流し、さらにたまたま同じタイミングで京都に到着したshibhさんを誘って午後2時半に出町柳駅で待ち合わせた。

昼食は目星を付けていた「おむらはうす」が休みだったので駅のロッテリアで済ませ、叡山電車に乗車。ホームに有頂天家族のアニメ10周年記念のポスターが掲示されていてびっくりした。途中「青もみじ」の周辺を徐行して通過し、終点の鞍馬駅で降りた。

鞍馬寺の仁王門から入った時点で午後3時半を回っていた。ケーブルカーで一気に山を登り、参道を歩いて閉まる直前の本殿金堂にお参り。案内板に書いてあることをよく読んだら「宇宙エネルギーが云々」「愛・光・力がこの世を構成する三元素」と言っていて、あまりのうさん臭さにひっくり返った。

仁王門

その後奥の霊宝殿(鞍馬山博物館)まで歩いた。ここももう閉まっている。さらに険しい山道を進むと貴船口駅のほうに抜けられるらしいが、結構時間がかかるそうなので来た方へ戻ることに。ケーブルカーも当然終電が終わっているため、九十九折参道をえっちらおっちら降りた。山での勤務を終えた人たちにスイスイ抜かされつつ、30分以上かけてようやく鞍馬駅に到着し、これにて鞍馬山観光は終了。

九十九折参道

山内案内 | 総本山 鞍馬寺

また叡山電車に乗って出町柳駅に戻り、百万遍の交差点に出てラーメン屋「キラメキ☆JAPAN」に入った。台湾まぜそばと味噌からあげを注文。昼が遅かったため満腹ギリギリで、からあげは3人で分けた。

解散し、朝食用のパンを買いつつホテルまで帰ってチェックイン。

かなり眠いが先週の週記を投稿しなければならない。午後9時まで宿泊者専用ラウンジが使えるということで、昼も行ったユニクロに併設のGUで寝間着を調達し、シャワーを浴びた後しばらくそこで書き進めていた。ラウンジが閉まったので部屋に戻り、午後9時半ごろスカスカの状態で投稿。少しメールを書いて午後10時半には寝た。

08/06(火)

午前3時に目を覚まし、なかなか寝付けず計3時間くらいハーメルンを開いていた。「マエリベリー・ハーンと賢者の石」を再読。2年前に初めて読んだときは非常に面白いと感じたはずなのに、今日はそれほどでもなかった。速度を重視してしっかり読まなかったからだろうか。ただしかし、「非常に」が取れるだけで面白くはあった。

syosetu.org

二度寝に成功して午前9時過ぎ起床。昨日買ってきたパンを食べて出発し、ホスフィンと合流して一緒の京都市バスに乗った。ホスフィンによれば今年は3号系統を使い「北白川小倉町」で降りると良いとのこと。

車内でY.Y.さんと遭遇したりしつつしばらく漫然と乗っていたが、百万遍を過ぎても聞いていたバス停の名前が表示に出ない。実は3号系統のうちでも上に「上終町」と書いてあるバスは途中から分岐してしまうそうだ。今日はうっかりこれに乗ってしまっていた。慌てて3人揃って「飛鳥井町」で降り、しばらく歩いて開始の午前10時半ギリギリに何とか到着した。

初日の講義は「作用素スケーリング入門」。有名なBeamerの日本語向けテンプレートを作られた先生だ、ということをホスフィンに教えてもらった。

Aqua Beamer template (settings for Japanese) - Overleaf, オンラインLaTeXエディター

内容としては、細かい計算はともかく、何をやっているかは分かったと思う。行列スケーリングが解けることを前提としてその解き方についてずっと議論していたわけだが、正直解けること自体が全然直感的ではなくて少しモヤモヤした。

昼食は「吉田チキン」に自分、ホスフィン、sotanishyさん、olpheさん、shibhさん、hotmanさん、oteraさん、oteraさんの後輩二人の計9人で向かった。骨付きの手羽先はなかなか上手く食べられなかったが、おいしかった。サラダも付いていて嬉しい。

料理が出てくるのが遅かったため、講義再開のギリギリに戻ってきた。これでも昨年と比べて昼休みが少し長く取られていたらしい。

午後の講義は正直何をやっているかさっぱりだった。演習は問題4の構成がスライド通りにできて、残り時間はずっと問題6と格闘していた。ホスフィン・sotanishyさんと一緒に取り組んでおり、sotanishyさんの方針に自分の方針を少し混ぜ、どうやらできたらしいというところで終了。その解答はsotanishyさんが前で発表してくれて、ほぼ正解とのことだった。足りなかった最後の詰めの部分は、線形代数力が足りず解説を聞いてもピンと来なかった。

講義の後は連れ立ってキャンパスを移動し、時計台の中の部屋で開催された意見交換会に参加した。ここではかなり会話を、特に自分・相手問わず研究の話をできて良い経験になった。

京大の時計台

食事

また講義中の質問の声から自分がこたつがめだと分かったらしく、話しかけてもらった。このことが非常に嬉しかったので2度ほど会話のネタにしようとしたのだが、記憶違いにより1回目と2回目で同じ相手に話してしまい大失敗した。

午後8時閉会。Y.Y.さんについて行って2次会に向かった。店は去年の「囀」が満員だったので近くの「おむら屋」、人数は13人で、うち先生方が半分くらい。ここでは専ら隣に座ったrniyaさんと話していた。湊あくあさん卒業の報を見せてもらい、二人でたまげた。あとは、ビールにチャレンジしたがやはり苦みが口に合わなかった、ということを記録しておく。

閉店の午後10時に解散。パンを買ってホテルに帰ったら半になっていた。シャワーを浴びて日記を書き、午後11時半からCF #964 div.4に出た。

https://codeforces.com/contest/1999

Aはよい。Bはだるい。CもDもよい。Eは最小値lを0にした後ほかの数を3で割り続ける。Fは簡単な組み合わせ計算。Gはクエリ1回で二つ分聞けるので三分探索。ジャッジが詰まっていたので、チェッカーを書いて念入りにチェックしてから提出した。30分で全完して13位。

午前1時就寝。

08/07(水)

午前8時起床。バスに乗るまでの行動は昨日と同じ。

今日はちゃんと無印の3号系統に乗り、無事「北白川小倉町」で降りることに成功。グラウンド北門から入り道なりに進むと、目の前に北部総合教育研究棟が現れた。この経路はバスの乗客もそれほどおらず、またバス停からの道に日影が多くてかなり快適。おすすめされるだけはある。講義開始の少し前に到着した。

北部構内マップ | 京都大学

二日目は「整数重みの組合せに着目したグラフの構造解析」。組み合わせの話ではあるが最適化の話ではなかった。非常に競プロ色が強く、個人的にはかなり楽しかった。昼休みに入るしばらく前に切りのいいところまで終わったということで、最後に演習問題1を考える時間が取られ、午後の講義の最初に発表者を募ることとなった。

昼食は「天ぷら魚兼」で、自分、ホスフィン、oteraさん、oteraさんの後輩の4人。

早めに帰ってきて休憩室で演習問題1に関して議論を交わした。詰まっていた部分を解決するアイディアを頂き、その場は細部まで詰める前に解散となったものの、歩いているうちに重要そうなところが完成したので発表させてもらった。先生の用意していた解説と大筋は合っていたらしい。その後、午後の講義に入った。内容は競プロ色が薄かった。

演習は問題1が終わり、問題2は端から諦めていたのでそれ以降。問題3はホスフィンが一瞬で解いており、自分はそれを聞くだけだった。

問題4には誤植があって、パス全体の重み和が21という条件になっていた。全然うまくいかないのでプログラムを書いて探索した結果、解なしに。先生にclarを投げたら修正が入った。ちなみに本当はその条件でも解は存在して、例えば1,1,-3,-3,-3,14,14が適する。探索範囲を非負整数にしていたので誤判定した。その後うっかり正しい条件でもプログラムを回してしまったので、次の問題へ。

自分がプログラムを書いている最中にホスフィンは問題5と6に取り組んでいたようだ。問題5はすでに解けていたので、それを聞いた。問題6の途中までの結果を見せてもらい、ほんの少し議論したが、残り1ステップだったのですぐ終わった。最後に問題7を考えようとしてタイムアップ。発表はその問題7以外すぐ希望者で埋まった。

講義後、今日もY.Y.さんについて行って飲み会へ。今年は大文字山に登る儀式はないらしい。開店直後の「囀」にホスフィン、hotmanさん、rniyaさん、shibhさんと計6人で入り、途中から先生が一人加わりつつ、なんと午後10時まで5時間も飲み食いしていた。

そんなに量を飲んだわけではないはずだが、結構酔いが回ってとんでもない眠気に襲われていた。何とかパンを買いつつホテルに戻り、シャワーを浴びて少し日記を書いて、午後11時半就寝。

08/08(木)

午前8時半起床。パンを食べて荷物をまとめ、少し早めに部屋を出てチェックアウトした。すると昨日より早いバスに乗ったようで、会場には講義開始の20分前に到着。しばらく休憩室にたむろしていた。

今日は京大のオープンキャンパスらしく、バス混雑により開始が5分遅れた。三日目は「主双対内点法:その始まりから今日まで」。そのタイトルに違わず最初の1時間は歴史的な話だった。知らない分野の知らない人の昔話が延々展開され、まったく興味が持てなかった。数学の内容に入ったら入ったで、今度は説明されなかった用語の定義がよくわからず置いて行かれ気味。とにかく辛い午前中だった。

休憩時間には次のような冗談が交わされた:一昨日は連続最適化の話だったから、COSSのうちOSS(あるいはContinuous OSS)に相当する。昨日は組み合わせの話だったからCSSに相当する。今日はどちらでもないからただのSSだ。

昼食は「ひらがな館」。11人で向かうことになったが、店についてみるとなんとピッタリの空きがあった。ただしテーブルは大と小の二つに別れる。自分は小のほうで、zkouさんとKite_kumaさんとご一緒した。早めに食べ終わったので3人で一足先に帰ったらキャンパス内で迷いかけた。

午後の講義もついていけず、打ちのめされつつ演習の時間。問題1は行列の要素を大部分適当に決め打って計算したら偶然解が見つかった。問題3は1次元だと難しいから2次元以上にしてみたとのことだったが、定値写像でよい。問題6はやればできそう、というところで発表の時間になった。今日も聞くだけ。問題1の発表者が発見した例と自分の構成した例が一致していてびっくりした。

これで全日程が終了。午後5時過ぎ、バスに乗って京都駅へ向かった。殺人的混雑。車内では別の集中講義に来ていた大学同期と遭遇した。

京都駅の適当なラーメン屋でホスフィンと食事。予定している新幹線まで微妙に時間が空いたので、京都タワーに昇った。

午後7時過ぎの新幹線に乗車。何やら宮崎県で大きな地震があったらしく、速度を落として運転しており20分近くの遅れが出た。予定していた最終のはやぶさがもう出てしまっていた、どころか仙台に向かう最終のやまびこにすら乗れないところだったが、さすがにこちらは乗客を待ってくれていた。こんな事情だし満員かと思ったら自由席がまだいくらか空いていてびっくり。

車内では少しハーメルンを読んだ以外は寝ていた。地下鉄の終電に乗り、日付が変わってから帰宅。シャワーを浴びて洗濯し午前3時くらいに寝た。

08/09(金)

午前9時起床。1時間半ほどハーメルンを読んでから布団を脱出した。

昨日帰ってきたばかりだが、今日から実家に帰省する。荷造りというほどでもない荷物を準備して出発。仙台駅地下で食事し、丸善で向こうで読む新刊を5冊ばかり調達した。実は8月分の新刊をまだ予約していないため、ここで買うことができた。

午後0時半の新幹線に乗車。車内ではずっとなろうを読んでいた。大宮駅で乗り換えるとき、月曜日に続いてまたカップの飲み物を買った。今日はレモネード。大事に大事に飲んでいたら氷が溶けて薄まるし、結露で動かすと雫をまき散らすしで大変なことになった。

ウロボロス・レコード ~円環のオーブニル~」とその外典ウロボロス・レコード外典、或いはウロボロスの足」を読了。非常に面白かった。倫理をかなぐり捨てて人体実験に邁進し、一途に永遠の命を追い求める主人公。行動に共感することは難しいが、次から次へと繰り出される研究成果、また部下以外の損害を最初から考えていない戦略など、目が離せないキャラクターだった。

https://ncode.syosetu.com/n9016cm/

https://ncode.syosetu.com/n4381cz/

父の車に迎えに来てもらい、午後5時過ぎに実家に到着。ゴロゴロしていたら仕事を終えた幼馴染が久しぶりに訪ねてきてくれた。なんと話すのは成人式の日以来らしい。なんとなく気が引けて連絡も取っていなかったが、そんなことで昔からの親友を失うのはもったいないし、向こうもまだ自分のことを友達だと思ってくれているし、これからは帰省するときにLINEで一報入れるくらいはしようと考えた。

夕食後、実家に届いた郵便物を整理していたら、春に開設した三菱UFJ銀行のキャッシュカードを発見した。このカードにはデビット機能が付いており、クレカと同様の扱いができる。試しにAmazonの定期おトク便の支払い方法として設定してみたら、当然のことだが上手くいった。ついにそういうカードを手に入れたかと思うと少しワクワクする。

都市銀行に口座を開設する話で、三菱UFJ銀行に行ってみることにした。

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

代わりの選択肢はクレカ・デビットカードしかない

週記(2024/07/08-2024/07/14) - kotatsugameの日記

入浴して午後9時20分からyukicoder 440に参加した。今日はmilkcoffeeさんの回。

yukicoder contest 440 - yukicoder

Aはよく見るとギャグ。Bは冷静になるとAに0か1があれば何でもできる。Cは必死にお絵かきして(i+j)\bmod 3で分類するのを見出した。それぞれXORを取って全部一致していることが良いグリッドの必要十分条件

Dはもう全然見えなくてかなり苦労した。2x2のマスがあれば自由度が少し減るな、というところからほぼサンプルエスパーで、マスのループができる度2で割っていく解法を導いた。

Eは前半と後半に分けて再帰する気持ちを適当にdpにしたら合った。Fは何もわからなくて、苦し紛れに提出した部分和dpが通った。現在の総和sからコストAsに、コスト0s+Aまたは|s-A|に遷移するというもので、(s\ne 0を1回経由した上で)s=0となるときのコストの最大値が答え。これをs\lt 10^5の範囲で、かつAの降順に計算している。

Gの実験をしているうちに時間切れ、6完11位。典型色の薄い非常に良いセットだったと思う。もうちょっと実験していたらGも解けた。すべての葉について、そこから直前の枝分かれまでの距離の偶奇を見ればよいらしい。

日付が変わったころ布団に入り、少しなろうを読んで午前0時半就寝。

08/10(土)

午前5時半に目を覚まし、なろうを読んでいた。「高1を12回ループしたクラスメート達が賢者モードになっている件」を読了。逆行転生Lv.100といった感じで非常に良い。ループものとしての落ちもちゃんとしていた。

https://ncode.syosetu.com/n0366fw/

3時間ほど二度寝をした後、今度は番外編の「高1を12回ループしたクラスメート達が賢者モードになっている件 ~Paradoxical Chaos~」を読了。様々な時間・場所、さらには別の設定の話までごちゃ混ぜに並べられており、結構混乱した。

https://ncode.syosetu.com/n3836fx/

昼食を摂った後マイクなどチーム戦の用意を整え、午後2時からUniversal Cup。今日は第6回目のOsijekセット。

https://qoj.ac/contest/1762

書く

感想戦後、30分で慌てて夕食を詰め込んだ。コンテストに出ている間に姉二人が帰省してきており、自分以外は全員揃って食卓を囲んだようだ。コンテストに出るのを優先させてもらっており、今のところ何も言われていないとはいえ、甘え続けるのも考え物だなと思った。

それはともかくとして午後9時からABC366。

AtCoder Beginner Contest 366 - AtCoder

Aは|T-A|N-T-Aの大小を比較。Bは問題文を読まず、入出力から題意を把握した。Cはよい。Dは3次元累積和。Eは軸ごとに分解して集計。Fは(A-1)/Bの昇順に適用していくのがよい。Gは条件が\mathbb{F}_2の連立1次方程式で書ける。すべての成分を非ゼロにするためには、それぞれの成分についてそれを1としたときの解を一つ構築し、\mathbb{F}_2^Nとなるよう積み上げればよい。

31分で全完して7位。簡単回。コードゴルフはAとBをNibblesで、FをRubyで書いた。Aは2\max(T,A)Nの比較。

入浴を済ませてもCFまでには微妙な時間が空き、眠気をこらえて過ごした。午後11時半からCF #965 div.2。

https://codeforces.com/contest/1998

Aは2個ずつ対称の位置に置き、余ったら真ん中にも置く。Bは全体を\bmod nでインクリメントすると総和の一致する区間[1,n]しかなくなる。

Cから結構難しい。iを全探索する。a_iがインクリメント可能なら話は早い。そうでないならc_iの中央値をどこまで大きくできるか二分探索する。判定部分でも、どれをインクリメントするか二分探索で求めることになった。つまり\log二つ。

Dは島1からスタートした牛が島sからスタートした牛を追い越すそれぞれのタイミングでどのsなら勝てないかがわかる。これは区間になっているので、imos法で和集合を求めればよい。

Eは残したい要素を決めたらその左右から1個ずつ順にマージしていくのが最適。E1は簡単で、今の値以下の要素が左右にどれだけ並んでいるかを二分探索で求めればよい。マージできない要素がマージできるようになると値は倍増するため、高々\log回の検索で全体をマージし切れるかそれ以上マージできなくなるかがわかる。

E2も残したい要素を決めるのは同じ。それより左にある要素をできるだけ早く使い切ろうとすると、少なくともiがいくつ以上でなければならないか分かる。その後右側だけでE1と同様のことをしてiの最大値を求め、imos法で集計して出力した。

51分で全完して2位だった。

少し日記を書いて布団に入り、しばらくハーメルンを読んで午前3時就寝。

08/11(日)

午前10時起床。一家そろって有名なそうめん屋へ向かった。

その足で墓参りを済ませ午後1時半ごろ帰宅。やけに疲れていた。寝転がってしばらくスマホを触り、午後3時くらいに寝入った。

午後5時前に目を覚ますと、全身がカーッと熱を持っていた。明らかに発熱している。体温を測ると38度を超えていたため、慌ててリビングから自室に引き上げた。目覚ましを午後9時前にセットし、父が出してくれた薄い布団を引っ被ってまた寝た。

目覚ましで起きたとき、なんとなく少し良くなっている気がした。布団を抜け出していそいそとPCをセットし、ARC182に参加した。

AtCoder Regular Contest 182 - AtCoder

Aから500点だが、これはかなり簡単。i\lt jかつV_i\gt V_jのとき、両方の操作が決定する。これを全部チェックして矛盾しないか見ればよい。ここからどう高速化するか……と思いつつ制約を見たらO(Q^2)が許されていたので、そのまま書いて提出した。

Bもまあまあ簡単。2進数表記のprefixたちをできるだけ散らせばよい。ちょっと考えて、K-1bit目は全部1、K-2bit目は0と1を交互に、K-3bit目は0二つと1二つを交互に……と配置していけばうまくいくことに気づいた。これも問題なくAC。

Cでかなり詰まってしまった。簡単のためM=4として、1,2,3,4が数列に何個含まれるかをそれぞれC_1,C_2,C_3,C_4と書くと、(C_2+2C_4+1)\times(C_3+1)\times\frac{(C_1+C_2+C_3+C_4)!}{C_1!C_2!C_3!C_4!}1\le C_1+C_2+C_3+C_4\le Nの範囲で足し合わせることで答えが求まる。前半の式を展開して指数型母関数を使えないかずっと考えていた。残念ながら和をとる部分が不可能。

順位表をチラチラ見つつ焦りを募らせていたら、急に「行列累乗」が降ってきた。1,C_2+2C_4+1,C_3+1,(C_2+2C_4+1)\times(C_3+1)をそれぞれ表現すれば更新していける。M=16となっても複雑さが増すだけで、26種類の値を管理することが変わらず可能。またこれに累積和を取る次元を加えることで、全部の長さについて和を取ることができる。実装は思ったよりだいぶシンプルになった。

Dを考えていたらどんどん具合が悪くなってきた。解ける気配が全然なかったのでコンテスト終了の10分前には諦めて布団に入ってしまった。3完108位。

CF combinedに参加することも視野に入れていたものの、この体調ではとてもじゃないが無理。無理せずに寝た。




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

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