2023/12/16(土)

夕方に散歩した。

朝に起きれず、朝昼兼用と言いながら朝食単体としても不十分な量しか食べず、うだうだして夕方になって、日の光浴びてないなと言いながら日が落ちてから外をぶらつく、みたいなのがいつもの休日になっている。大変よろしくない。

朝からメシを食べて外に出て、適当に昼を食べるべきである。


ABC333に出た。

A: やるだけ

B: min(abs(S1-S2), 5-abs(S1-S2))==min(abs(T1-T2), 5-abs(T1-T2))

C: 制約の範囲内で3進法でみたいなことを考えたが、正しい確証がなかったので愚直に列挙

D: 1を根とする木を考え、根の直下の子を根とする部分木の中で最もでかいやつを残す

E: 最もモンスターから近いポーションを取るべきで、それより前のポーションを取っても損しかしない。なので貪欲にモンスターに当てるポーションを決められる。

F: 解き筋は見えていたが時間内にバグが取れず。

N=2を考えると、(1 2)は1/2で2になり、1/2で(2 1)になる。(2 1)は1/2で1になり、1/2で(1 2)となり、ループする。これを考えると、(1/4^i)の無限級数を考えればよいことが分かる。これを$b_2$と置くと、2,1がそれぞれ$b_2/2, b_2/4$の確率になる。

N=3を同様に考えると、(1 2 3)は3回1/2を繰り返してループするので(1/8^i)の無限級数を考えればよい。これをまた$b_3$と置くと、(2 3),(3 1),(1 2)にそれぞれ$b_3/2,b_3/4,b_3/8$の確率で遷移することになる。N=2のときの数値を利用すれば、1,2,3への遷移する確率の総和をとれる。これで$O(N^3)$で解ける。あとはどうにかして2乗くらいに落とせればいい。

式(プログラム)をグッとにらむと、掛け算の総和の形から畳み込みが使えることが見えるので、あとはそれを適用するだけ。しかしどうも値が合わず、バグが取れなかった。落ち着いて表を書いたらすぐに原因が分かった。畳み込みをするときは表を書いて足される範囲のことを考えるべきということが分かった。

解説によると別に畳み込みしなくてもいいらしい。


ダンジョン飯を10巻まで読み進めているので、今の時点じゃないと出なそうな感想を書いておく。

悪夢の回でマルシルが寿命による離別を恐れている話をしていた。シスルが黄金郷を永遠に保とうとしているのを考えると、マルシルは少し違った道を歩んだ場合のシスルとして対比されてるのかなみたいな考えがひとつあったのだが、10巻でマルシルの真の目的が明かされて思ったより違うなと分かった。寿命を同じにする、かなり現実的な落としどころでえらい。

西方エルフの話を元にすると、安直に考えれば翼獅子はどう考えても迷宮を司る悪魔なのだが、どうも隊長の話に出てくるヤギなどとは雰囲気が違うように見える。あまりにフレンドリーだし、少なくとも表面上は王国やシスルの行方を案じているように見える。本当に悪魔ならいくらシスルと言えどそんな簡単に封じられるものなのか?という疑問もあり、しかし悪魔じゃなかったらこいつなんなんだ、シスルが召喚した魔物ではないだろうし当然人間ではないし何者なんだ、という話になる。

10巻最後、あまりにあっけなくライオスを残して全滅するのでさすがにびびった。直前に「全員死んでもマルシルなら蘇生できま~す」をやった上で頼みの綱のマルシルが神経締めになるの、あまりにも人の心がない。そしてこの場面で知恵を使って難局を乗り切ろうというガッツを出せるライオス、さすがに主人公の風格がある。オデュッセウスみたい。

Categories: