週記(2021/12/27-2022/01/02)

12/27(月)

先週の週記を投稿した後はパソコンの前でずっとハーメルンを読み続けていた。1作読了。「アラサーがVtuberになった話。」。非常に良かった。配信者を初めてすぐ人気が出て云々というようなお手軽な話が好きなのでよく読んでいるが、たまにはこういう苦労する話も好き。主人公の設定または振る舞いが好きになれると自分の中で評価が高くなるし、この作品では加えて嫌なリアリティを感じるストーリーもよかった。嫌な、とは展開が苦しいという意味である。

syosetu.org

午前11時就寝。午後4時過ぎ起床。少し準備してインターン先の定例会に出席。当然ながらこれが年内最後となる。先週は1on1以外何もやっていないので、それについて書くしかない。このような貧弱な進捗を言葉で嵩増しして報告するのにも慣れてしまった。働くことが生活の一部になっておらず、時間があってかつ気が向かないと手が伸びない。非常にまずい。

何とか進捗報告を終え、勉強会も終了した。ゲーセンに行こうとしたが、すでに夜遅いので今から行っても2時間しかプレイできないのか……と思うと外出する気が失せてしまった。

少しコードゴルフをした。古いJOI春合宿の問題で、ML64MBのものだった。最初は気づかずスクリプト言語で提出しようとしており、MLEが出てびっくりした。しかしアルゴリズムを変えて頑張ると通ってくれた。以前はこのMLの厳しさからC言語が最短になっていたので、それよりは当然縮む。一応C言語のほうでも縮めてある。

しばらくハーメルンを読んでいた。相変わらずVtuberもの。しかしどうにも盛り上がりがなく話の面白さが見えてこなかったので、途中で読むのを止めてしまった。一応記録しておく。

syosetu.org

午後11時半からECR120に出た。5完38位。

Dashboard - Educational Codeforces Round 120 (Rated for Div. 2) - Codeforces

Aは分割した棒を縦と横にそれぞれ1本使うことしか考えていなかったところ、サンプルで落ちた。優しい。Bは0の場所と1の場所に分けて貪欲。Cは値のコピーをどれくらい行うかを全探索した。負の数の切り捨てが出てきて、頭を使うのが面倒だったので、普通にC++の切り捨て除算をした後分母を払った不等式に違反していたらデクリメント、とした。Dは最初dpが見えてしまい、全然解けないうちに数分意識を飛ばしてしまった。正解はbitが変化した最右インデックスを決め打つことで、左にどこまで伸ばせるかは尺取りしたが、制約から愚直に探索してもよかった。Eは難しく感じた。小さいほうに寄せるか大きいほうに寄せるかの2通りだな、と考えたところで、それをどちらに寄せるか全探索することを試しに考えると、絶対値記号を外してもよい(負になるなら寄せる方向を逆にすればよいため)がわかり、各問題の寄与が求まる。

Fは解けなかった。後からTLで解法を見た。実は答えはn-3以上で、n-3のときはnを使わないことがわかるらしい。この事実をエスパーなりなんなりして、残りは構築。Zobrist hashで頑張るらしい。自分はエスパーにしても答えがn-2以上だと思い込んでいたので、ボロボロ。その後へのk氏による証明を見た。天才的。

夜中、僕の今年の週記を掘り返して読んだネット小説の記録をかき集める作業をはじめ、3時間ちょっとで完成したブログ記事を公開した。

kotatsugame.hatenablog.com

明らかに読んでいる時期とそうでない時期に分かれていたが、それと物理的な本の読書量にはあまり関係がないように見える。どちらかというと、競プロの精進をしているかしていないかに関係がありそうだ。どうやら今年は熱心に橙diffを解いていた瞬間があったようで、その週は小説一般を全然読んでいなかった。ネット小説を多く読んでいた時期は主に1月、6月、12月で、1月は東方の古代スタートものをひたすら漁り、12月はモンハン・暗殺教室の二次創作と配信者モノをひたすら漁っていた。6月は1300万文字のドヤバいもの一つにすべてを破壊されていた。

ただ羅列するだけの記事でもよかったが、自分の好みであるものはわかるようにしておこうと少しコメントをつけることにした。しかし、相変わらず1年間に渡る記録から抜き出すのは難しい。1月に読んだネット小説は正直ほぼ内容を忘れている一方、12月に読んだものは読後感も十分覚えている。無理やりバイアスをかけて好みであると表示するものを選び出した。1年も前に読んだのなら、その1シーンでも覚えていれば十分印象に残ったと考えてよいだろう。

週記を漁っている過程で、「ストリエ」というネット小説サイトが復活していることに気づいた。名前もkakuzooに変わったようだが、これは復活とは特に関係なさそうである。

この小説投稿サイトは3月初めで終了してしまうらしい。

週記(2021/02/08-2021/02/14) - kotatsugameの日記

2021/04/18追記:終了していた。

週記(2021/02/08-2021/02/14) - kotatsugameの日記

storie.jp

しばらくパソコンを触った後、布団に入って少しハーメルンを読み返し、午前10時就寝。読み返したハーメルンはこれ↓である。一口サイズにまとまりつつ強い印象を残してくれたので、実はかなり好きだったようだ。

syosetu.org

12/28(火)

午後5時半起床。昨日出ていたPythonの講義の課題のうち、今日が期限であるものだけを手短に終わらせ、外出。

まず大学に行って帰省のための学割を得る。明日から休業で、証明書自動発行機も停止してしまうらしい。午後6時過ぎに大学に到着して、自動発行機が置いてあるところの電気が消えているのを見て絶望しかけたが、入ってみるとセンサーで電気が付いてくれた。まだ何とか動いていたようで、無事学割を入手できた。そこから地下鉄に乗って街に出て、蕎麦を啜ったあとゲーセンに向かった。蕎麦屋は先週行きそびれたところ。入ってみると立ち食い席のあるチープな蕎麦屋でちょっとがっかりした。

目星をつけていた蕎麦屋は営業時間短縮で午後8時に閉店していた

週記(2021/12/20-2021/12/26) - kotatsugameの日記

ゲーセン。今日は4時間ほど。新曲の14をAJしたのと、14+の新規SSSが1つ、理論値が1つ、他多少伸びたという成果。

30回くらいプレイしたうち少なくとも15回は捨てゲーしていたらしい。序盤が最難関で、そこを抜けるころにはもうボロボロになっていることが多く、残りをプレイしきる意思が保てない。今日試しにプレイしてみたら緊張からくる最後の最後でのミスでSSSを逃したので粘着を始めたという経緯があり、最初はそこそこできていた後半も、プレイする度ボロボロになっていく。しかしそちらは譜面をしっかり確認すると思ったより単純な配置をしていたので、押す指を決めるなりリズムを把握するなりするとそこそこ安定してくれた。最後のホールド+スライド地帯は、タップが混じる前は気合いで押して、以降は全押し。全押しのリズムは有名なおせちんこ打法だ。ありえないくらい優秀で、全押しのくせに赤Jもあんまり出ない。

最後に何か理論値を出してチュウニズム納めとしよう、と思っていろいろ触っていたが、全然出なくて苦しい時間が続いていた。しかし適当に選曲したこれが一発で理論値出たのでハッピー。緊張に強くなったか?

今進行中のチュウニズムクエスト(指定キャラクターのレベルを上げて報酬をもらうもの)では、「限界突破」というキャラクターのレベルキャップを解放する操作が必要になる。これまで、ちょっとした逆張り精神もあって頑なに行ってこなかったが、クエストを進め損ねるよりはと、今日初めて実行を決めた。しかし、黒い画面に真上の照明が組み合わさるとすごい勢いで映り込んでしまう。

帰宅してSRMにレジろうと思ったらアプレットが開けなくなっていた。証明書の確認に失敗している、というエラーが出る。PCを再起動するといけるという話を聞いて試すも効果なし。結局、Javaの設定を変えて証明書失効チェックを「チェックしない」にすると開けた。レジって、待ち時間にシャワーを浴び、午前1時過ぎからSRM820。

https://community.topcoder.com/stat?c=round_overview&rd=18986

EasyはNA,NB,NC\le 5なるギャグ制約にどれだけ速く気付けるかゲーム。自明dpを書いた後、やっぱり怖くなったので慎重に慎重に確認した。Medはiが1でi\lt j\lt Nが0になるようなiを答えられればよい。そういう条件は、i\lt j\lt NのORを取ったあとNANDにかけることでNOTを取り、iとANDを取れば表現できる。ORを取る部分はセグメント木のように行えば最大5ステップで、そこから2ステップで答えが出そろう。あとは出力だが、各桁ごとにそのbitを立てる条件がいま求めた答えいくつかのORで表現できて、こちらは最大でも9要素のORを取るだけなので、4ステップかければ十分。都合11ステップで、とりあえずステップ数は制約を満たす。実際に構築すると論理ゲートの個数も十分少なくなった。

絶対に落としたくないので、提出前にチェッカーを走らせることにした。正直ミスなんてないだろと思っていたのに、論理ゲートの間違い1つと参照する値の間違い1つが見つかってびっくりした。直して、19ケースしかないのですべて試し、全ケースに通り制約も満たしていることが確認できてから提出。600点問題なのに点数が270点くらいで、遅かったかと後悔したが、思ったより解かれていなくて安堵。残り20分はHardを眺めて終了。このEasyでどうやって間違えるんだと思いながらチャレンジフェーズを放置していたら、謎貪欲が2人いてそれぞれ落とされていた。フローを流した人もいて、いろいろいるなあという気持ちになった。

システスでも落ちず、2完10位。レートは2552→2588(+36)と、7月に記録したhighestをようやく更新できた。touristが前人未踏のレート4000を突破したらしい。SRMのtarget(レート3000)は、僕が競プロを始めたころから今に至るまでずっとライン分けとしては最高レベルの基準だった気がするのに、そこから1000も上に行くとは……。

昨日の部分の日記を書きつつ、ERC120Fを通した。各値を素因数分解し、素数の集合と見てZobrist hashを求め、それの累積XORを取ると階乗に対応するHash値が得られるということらしい。Zobrist hashを使う問題は以前にyukicoderで解いたことがあるが、今初めて「集合のHash値を高速に求められる」ことの威力を思い知った気がする。……と言いつつyukicoderの問題を見てみたら、こちらも素数にhash値を割り振ったZobrist hashだった。

Submission #140962390 - Codeforces

No.1746 Sqrt Integer Segments - yukicoder

今日の分まで日記を書き上げ、午前6時半就寝。

12/29(水)

午前11時起床。

二度寝するか迷いつつハーメルンの更新を1つ読んだ。後書きで作者が他に動画作成も行っているということが書かれており、気になったのでYouTubeチャンネルに飛んでみると、ぽいんと氏だった。The Unusual SkyBlockのRTA動画とボイロ実況をいくつか視聴したことがある。そちらの方面ではかなり有名な人だと感じているので、まさかハーメルンに投稿までしているとは、とびっくり。

syosetu.org

帰省する。持ち物としてはノートPCとラノベが1冊あれば十分だろう。他に仙台の部屋でしか行えないことと言えば、インターン関連の作業が考えられる。特に、月ごとの作業時間を毎月まとめて提出しているので、ササッとメールを作成して送信しておいた。

仙台駅に向かい、まずみどりの窓口で学割を適用した切符を購入する。みどりの窓口は待機列がガラス戸からはみ出すくらい混んでいて、30分くらい並ぶことになった。次の新幹線まで十数分あるようだったので、立ち食い蕎麦屋に入ってカレーライスを食べ、出発。仙台始発ではないが、隣に人がいない席に問題なく座れた。

進むにしたがって微妙に人が増えてきたが、結局隣に人が座ってくることはなかった。大宮で降りる。今日は新幹線の時刻表を調べずに来たため、次に乗る新幹線をこのタイミングで探すことになる。どうやら50分程度の乗り換え待ちが発生するようだったので、ゲーセンに行ってチュウニズムを2クレプレイした。これが本当のゲーセン納めになるだろう。成果はなし。

駅に戻ってみると、ダイヤが微妙に乱れており、前後の新幹線が数分遅れになっていた。今日が帰省ラッシュのピークらしく、自由席車両にできた列が長すぎるということで、指定席車両のデッキや通路に押し込まれるらしい。ギチギチになって待つことしばらく、新幹線がやってきて、見事通路の真ん中で仁王立ちすることになった。

新幹線に乗っている間ラノベを読んでいて、1冊読了。「公務員、中田忍の悪徳」。ラノベらしからぬラノベという言及を見聞きした覚えがある。作者もラノベと一般文芸の中間を目指して書いたらしいが、そのあたりの機微はわからない。とは言え面白かったのは確か。現実主義的な考え方をするキャラクターたちと、非現実もいいところな異世界エルフの組み合わせが、もう悪い予感しかしなくて面白い。言葉の通じないエルフとなんとかコミュニケーションを取ろうとする過程もやたら理論的に、丁寧に描かれており、納得感がある。

移動中読む用のラノベを1冊しか持ってこなかったため、残り1時間強はハーメルンを読みながら過ごした。結局黒部宇奈月温泉駅で降りるまで自由席は埋まっていたので、ずっと立ちっぱなしだった。黒部でもちょっと見ないくらいの人が降りたので、これが帰省ラッシュか……と感心。Uターンラッシュは是が非でも避けるようにしたい。

親の車で実家に帰る。途中本屋に寄ってもらい、ラノベを7冊購入した。帰宅し、夕食を摂った後、思ったより疲れていたので深夜のコンテストに備えて一眠りすることにした。午後9時過ぎから午前0時ちょっと前まで寝ていた。入浴し、午前0時半からGood Bye 2021。

Dashboard - Good Bye 2021: 2022 is NEAR - Codeforces

実家の回線が貧弱すぎて開始から数分問題を見られなかった。慌ててテザリングをし、コンテスト開始。Aはよい。Bで1ペナつけた。狭義単調減少なprefixを取るべきと思っていたが、広義単調減少でよい。ただしs_1=s_2の場合の答えはs_1s_1になる。Cは短い区間を見て式変形してみると等差数列になっている必要があった。少なくとも2点は等差数列にそのまま乗せられるので、それを全探索すればよい。

Dは難しかった。実家dpで解いた。各インデックスに対し、和に関する条件を満たせる最も左のインデックスを求め、区間maxで取得して1点更新することになる。iに対し和に関する条件を満たせる最も左のインデックスを求めるときは、a_ia_{i-1}を含む幅2、3の区間についてチェックした後、それより左になるようだったら以前に計算したものを使った。幅4以上の区間は幅2以上の区間の組み合わせで書けるからだ。Eはどのインデックスで大小を決定するかを全探索できる。操作のコストを計算するためにBITを使ったので、計算量は\sigma=26としてO(\sigma n\log n)になるはずだが、爆速で通ってくれた。

Fはよくわからない。いろいろ試しているうちに、条件が「3つの辺に塗られた色の番号の和が3の倍数」と表せることに気づき、その条件を全部並べた\bmod 3連立方程式を掃き出し法で解いたら通った。連立方程式は最大257列で、行はn=23の完全グラフのとき1771行になるようだが、これも爆速で通った。掃き出す際、非ゼロ要素だけ抜き出して計算するという高速化を入れていたとはいえ、効果のほどは不明。そもそも非ゼロ要素だけ持つということも考えたものの、掃き出す過程でどんどん増えて無駄になりそうだと感じて止めた。

残り30分弱で、より多く解かれていたHに進んだ。しばらく考えているうちに、どうにも見覚えがあることに気づいた。いつだったかのOpenCupに似たような問題があったはず。チームのSlackなどをひっくり返して発見した。その日の日記に解法についても書かれていたので、それを真似して今回の問題に合うように直そうとするも、サンプルが全然合わない。そのままコンテストが終了した。

OpenCup-Iについて。

週記(2021/11/29-2021/12/05) - kotatsugameの日記

コンテスト後に、使っていたサンプルファイルが違う問題のものであったことに気づいた。正しいものに直して少しコードに手を加えると、見事に出力が一致した。投げると当然のようにAC。ペアのXORの大小を考える問題は、今回使ったような再帰関数の定義を思いつくまでが本質に見える。1ヶ月以内に同様の問題が出ていれば、ボス問なのにたくさん解かれるというのも納得だ。

布団に入ってラノベを1冊読了。「日本語が話せないロシア人美少女転入生が頼れるのは、多言語マスターの俺1人」2巻。1巻はまさにざまぁ系という感じで爽快な描写が大量に盛り込まれていたが、2巻は一転、1巻で解決しなかった問題に注力されており、読んでいて気持ちいいというよりは辛い部分が多かった。どこまで引っ張るんだろうなと思っていたら、この2巻でちゃんと解決してくれたのでハッピー。かと言ってシリーズ完結というわけでもないようなので、嬉しい。

その後もしばらくハーメルンを読んでいて、朝ご飯を食べてから午前9時過ぎ就寝。

12/30(木)

午後8時過ぎ起床。

夕食を摂った後、満を持して夏に碧黴さんから頂いた日本酒を開けることにした。赤達成のお祝いのもので、家族と一緒に飲んでということだったが、タイミングを外し続けてこのような時期まで持ち越されてしまっていた。まだ赤で本当によかった。

下世話だが値段を調べてみると、かなり高いようでびっくり。正直日本酒の味はわからない。父曰くちょっと甘口で口当たりがよいという話だ。そういうものかと思いながら飲んでいたら、確かにスイスイ飲めてしまうようで、もったいなくも1時間と少しで飲み干してしまった。すっかり酔っ払って倒れ込み、ラノベを読もうと開いたが数ページも進まないうちに寝落ちしたようだった。午前0時くらいのこと。

午前3時くらいに意識を取り戻した。とりあえず水分を補給し、またラノベを読み続けた。

午前6時半くらいに1冊読了。「お姉ちゃんといっしょに異世界を支配して幸せな家庭を築きましょ?」。あらすじに「異世界最強の支配者」と書いてあって、そういうファンタジー系無双モノを期待して読んだが、大ハズレだった。現実世界における都市伝説の話。話自体はいろいろ伏線が張られていて圧倒されたが、期待していたものではなかったという一点で自分の中での評価はあまり高くない。実際のところ、この話をあらすじでちゃんとまとめると面白さが失われる気がするので、そうやって内容と乖離してしまうのも仕方ないことではあるか。

また1冊読み始めて、朝ご飯を挟みつつ午前10時半に読了。「お見合いしたくなかったので、無理難題な条件をつけたら同級生が来た件について」3巻。両片想いがくっつく巻で非常に良かった。エピローグで、ヒロインが家族に対して自分の意見を述べるまでに6ページくらい葛藤があり、もどかしい思いをしたが、幼少期から抑圧されていたという設定を鑑みればリアルな間だったのかもしれない。ぜひ幸せになってほしい。後書きで、このシリーズがシンデレラモチーフであるということが明かされていた。以前このようなこと↓を書いたので、的中したとも捉えられる。

どうやら身分差のある恋を描いているらしい。そういうテーマは童話などではよく聞く

週記(2021/09/20-2021/09/26) - kotatsugameの日記

昨日のCFのレート更新が来ていた。結局6完55位で2887→2906(+19)。なんとか2900に乗せての年越しとなる。

その後ハーメルンを読み始め、午後2時前に就寝。微妙な頭痛があり、二日酔いが怖い。

12/31(金)

消えた。

01/01(土)

12/31 午後11時起床。頭痛が消え、体調は良好。年が変わりそうになっていたので、急いで今年のレーティング変動などをツイートした。去年もツイートしたもの。

年越しそばを食べて一息つきつつatgolferを確認すると、午後9時過ぎにPAST9の過去問が公開されていたことに気づいた。慌てて解き進めている間に年が明け、午前3時前に全問ACできた。代わりに、毎年年明けの瞬間にツイートを行っていたが、失敗した。

第九回 アルゴリズム実技検定 - AtCoder

Aは面倒。Bも面倒に見えるが、50円玉を使うかと5円玉を使うかさえチェックすればいいので、そこまででもない。Cは普通にやれば簡単だが、コードゴルフをするとなると出力順がちょっと面倒になる。Dはやるだけ。Eは丁寧に条件を書く。Fは頑張る。Gはびっくり制約で、愚直を通そうとしているらしい。Hは一見よくわからないものの、同じになる文字をわざわざ取る必要がないことを考えると、LCSのdpと同じ形式になる。Iは座圧してdijkstra

Jは面倒。現在の座標(x,y)が元の座標(x_xx+x_yy+x_c,y_xx+y_yy+y_c)に対応するという情報の持ち方をして、気合いで更新していく。更新するときは2変数関数の合成っぽくなるので更に面倒。Kはやるだけ。Lはインデックスを上手く足し込むと狭義単調減少だったのが広義単調減少になるので、座圧してセグメント木に乗せる。Mは全然わからなかったので、クエリ平方分割して毎回平方分割をやり直し、バケットサイズガチャを回したら通った。バケットサイズ2000、つまりクエリ2000回ごとに文字列をソートし直して2000個ごとのブロックに分けると2500msくらいになった。

Nは共通部分もまた凸多角形になるので、境界に乗る点をかき集めて凸包を取った。つまり、Sの頂点であってTの内部にあるもの、Tの頂点であってSの内部にあるもの、STの交点、の3種類。しかし全然合わず、しばらくEPSを弄ったりしていたが、問題は線分の交点を求める部分にあった。平行で重なる2直線の交点を求めようとしてとんでもない値が出ていたらしい。自分のライブラリだと、重なる場合も交差すると判定してしまうので、平行は別に判定して弾かなければならなかった。Oは頻度配列を作って式を整理すると、片方を反転した畳み込みで計算できる形になる。

Lのインデックスを足した後はLISのような形になっているので、座圧の必要はなかったらしい。Mのwriter想定解は平衝二分探索木で、いよいよ出題されるようになったかと驚愕。ただしtrie木でも解けるようだ。

コードゴルフ。Aは速度とかではなく素直に負け。Bはdcで、負の数の割り算がC言語スタイルなので、B-Aの代わりにA-Bについて計算しても一箇所+-にするだけで辻褄を合わせられる。rの必要がなくなり-1B。Cはbashで、sortの際に-sオプションでstableなソートをすると上手く行く。DはRubyだが、こちらはもともとstableなソートらしく、わざわざインデックスを比較する必要がないという更新で取られた。Eは適当にRuby。Hは制約が大きいので、Crystalで通しておいた。K、LもRuby。FGIJMNOは手付かず。

一段落付いたので、読書記録を整理した。去年は物理本を全然読めなかった。

また今年分の読書記録や買った本の記録の記事を作り、その後朝ご飯の時間まで溜めていた日記を書いていた。

kotatsugame.hatenablog.com

kotatsugame.hatenablog.com

毎年この時期は微妙な生活リズムの狂い方をしていて、ここ数年朝ご飯を家族と一緒に食べられた記憶がなかったが、今日は成功した。お雑煮とおせちを食べ、僕が寝る前にということで早めに初詣に行った。おみくじを引いたら大吉だった。

帰ってくる頃には眠気がかなり強くなっていた。布団に入ってラノベを開くも、うつらうつらしてまともに読み進められたものではない。01/03の夜中にあるHello 2022に向けて生活リズムを整えるため、頑張って午後5時くらいまで起きて、寝た。

01/02(日)

午前0時半起床。もうちょっと寝たいのに眠れない。

ハーメルンを1作読了した。「【完結】『金』の棋譜」。りゅうおうのおしごと!の二次創作で、短め。しかし設定に満足感があり、大きなイベントを描いてサッと完結させてくれているので良かった。

syosetu.org

しばらくハーメルンの更新を漁ったあと、「輝きたくて」という作品を最初から読み返し始めた。自分のハーメルン遍歴の中ではかなり初期に位置するVtuberモノなので、他にいろいろ読んだ現在の視点から再読すると何か新しい読み方ができそうだと思ったのだ。あとはまあ、単純に好きだし、ギリギリ手軽と言えなくもないサイズ。

syosetu.org

3時間半ほどかけて最後まで読み切った。やはり面白い。異性同士のコラボは燃えがちというテーマで2作品ほど読んだが、こちらではあまり触れられていない。しかし、より一般に「炎上」そのものはかなり作品の根幹に近いと感じた。また今回も終わり方が唐突であるという印象を抱いた。もうちょっと分析すれば、クライマックスの山場と最終話の間になんの変哲もない日常回が挟まっているのが原因と考えられる。

朝ご飯を食べ、別のハーメルンを少し読んで、午前9時半就寝。午後3時半起床。

紅白歌合戦の録画があったので、まふまふさんが出演しているところだけ観た。しばらくコードゴルフをして、夕食。今日は近所の寿司屋のテイクアウトだった。

入浴など済ませた後、新春TechFUL Coding Battle 2022を解いた。これについては今週どころか来週末にもまだ終了していないので、各問題の感想は再来週の週記に書く予定となる。とりあえず現在visibleな部分は理論値で通っている。

https://techful-programming.com/user/event/2497

ラノベを1作読了。「D級冒険者の俺、なぜか勇者パーティーに勧誘されたあげく、王女につきまとわれてる」3巻。相変わらず軽快な文章が心地よかった。しかし、今巻は特に印象に残らなかったので、自分が何を思って「今年読んだ本のまとめ」で印象に残った本として挙げたのかがよくわからなくなった。主人公の無双シーンが足りなかったのだろうか?それならば、後書きによれば4巻はかなりいい感じになりそうだ。

夜中までずっとコードゴルフをしていた。PAST9がバカスカ取られていて厳しい。H問題は想定解のO(|S||T|)でもRubyPythonではTLEしてしまう。昨日Crystalで書いて、今日取られてしまったので絶望していたが、Octaveの行列演算が相性がよく、1500msくらいで通ってくれた。dp配列を1次元にして、2次元目はループだけにして気合で遷移を書くのはCrystalから変わらず。しかし、遷移中に何をやっているかについての理解が深まったため、全体へ一様に加算したり累積maxを取ったりする操作で書き直せて、Octaveのコードはそれなりに短くなってくれた。

せっかく生活リズムをぐるぐる回したのに、回しすぎてまた午前5時に寝る準備を始める状態になってしまった。本当にまずい。宵っ張りな性分が一生直らない。