2022/3/2(水)

休学関連の手続きを進めようと思ったが気力が死んでいた。


競プロの緑埋めを進めた。ARCの緑きちい…すごいデータ構造の知識が求められてるわけではないからなおさら考察がつらい。

ARC120-B まったく方針が立たなかったので解説AC。「どんな場合でも成り立つ」ということは「どんなに小さく一部分を変更しても成り立つ」ということなので、そこから一般法則的なものを見いだせれば良かったのだが上手く辿り着けなかった。大まかな考察の方針は間違っちゃいなかったと思うのだが。dpの遷移とかを意識して列単位とかで変えた場合を考えていたが、2×2マス単位について考察するのには思い至れなかった。悔しい。

ABC235-D 自力ACはしたが大苦戦。あらかじめグラフを作成していたら計算量がカッツカツになってTLEしてしまった。たぶんわざわざグラフを作らずに直接計算して遷移した方が早いのだと思う。やたら重いのはおそらく実際には使われてない辺と頂点が大量にあるから。10^7オーダーだからそりゃ重い。

全ての頂点(状態)と辺(遷移)がそれなりに重要になるような場合ならきっちり前処理としてグラフを作った方が早いのだろうが、今回のような場合だと必ずしもグラフを丁寧に作るのが正解ではないというのを学んだ。

ABC222-D 気持ちよく自力AC。まず愚直なdpを書いて、配るDPを集めるDPにしたり累積和を導入したりすると計算量落とせる典型だった。エンジョイでやる分にはぶっちゃけこんくらいのかわいい問題が一番楽しい。

ABC206-D これもさっと自力AC。既にまとめたやつはsetで管理しようかと思ったがUnionFindで十分(というかその方が向いている)と気づき、たまには使ってやるかということで使ってやった。久しぶりにUF使った。

ABC234-D ちょっと悩んだが自力AC。頑張って計算する必要があるように見せかけておいて、実は全探索(というか全パターンの構築&探索)できちゃうパターン。危うく引っかかりかけたぜ。

ARC134-B 全く訳が分からず(というか考察に自信が持てず)解説AC。辞書式最小のやつを構築みたいなの本当苦手。「前を決めるのが最優先」「後ろはどうでもいい」という勘所は押さえていたのだが、そこから先に進めなかった。

前が最優先で後ろはどうでもいいのだから、前と後ろが対応しているのはむしろ都合のいい設定ということに気が付ければよかった。あとは、前が最優先なのだから1文字目、2文字目…と考えていいというところに自信が持てなかったのも敗因。辞書式最小を求めるなら前から1文字ずつ決めるという典型を頭に染み込ませよう。

ARC128-B なんとか自力AC。アドホックな考察問はどう学びにするべきか悩む。何かと何かを対応させるっぽい操作をするのだから、個数の差に注目するという目星は付けてよかったのかも。


Vulkanの勉強を進めた。頂点シェーダにデータを渡すやつに成功した。

VertexAttributeDescriptionを準備したのにVertexBindingDescriptionを準備し忘れていて若干戸惑った。layoutについては昨日おおよそ理解したが、bindingについて今日は多少理解が進んだ気がする。要するになんかもうちょっとデカい括りとしてこのデータをシェーダに渡す、みたいなのがあって、その括りがbindingなんだ。そしてそれはlayoutみたいな頂点ごとのデータ構造よりも上位の構造としてなんかある。

この辺しっかり仕組みを理解したい気はするが、正直そこまで理解してなくても実用上困らんのではという気もする。とりあえず明日勉強を進めつつ記事の構成を考える。


昼から休学関連の手続きなどをやるつもりでいたが、なんか夕方になってしまった。

昼、昼飯のアテを買うついでに散歩していたらなんか1時間くらい経っており、帰ってきてメシを食べて少しぐったりしてから作業しよーとか思っていたらベッドで2時間半くらい経っていた。

敗因は2つ。

  • 散歩長すぎ、というか長いのは良いが時間を制御できてない
  • 昼飯食った後にベッドは負け

よく考えると毎日昼飯にかなり悩んでいる気がするんだよな。ラーメンは作るのは楽だが毎日だと飽きるしバランスも悪そうだし。昨日炊いた白飯が残っていれば食べるが、いつも残っているとは限らないし。外で毎日何か買ってくるのも金銭的に嫌だし。思考を節約するためにフローチャートとか作りたいな。考えるのが嫌いなわけじゃないが、悩んでそれに時間を取られたくない。

ひとまず「白飯が残っていれば卵かけご飯にして食べる+汁物」「白飯が残っていなければ躊躇なくラーメン」という風にでもするか。

散歩長すぎ問題も割とデカい。自分にはどうも「真昼間にそれなりに足を動かしていないとその日活動した気がしない」みたいな無意識的な思考があるらしい。(早朝にジョギングしてもダメだった。)もしくは金を出して何かを買うことによっても「活動した気分」が発生するが、あまり金を浪費したくはない。

手っ取り早く短い時間で「活動した気分」を発生させたい。ジョギングを再び習慣化してみよう。運動にもなる。今度は朝ではなく昼間の時間だ。時間を制御化に置きたいというのが前提なので、明日は短い距離にして時間も測ってみよう。

長い距離だとなんだかんだ最後の方歩いてるんだよな。長い距離走るとより色々な風景を見られて楽しいのだが、全コースを通して走っていられる程度の距離の方がきっと時間の使い方という面でも運動の仕方という面でも適切だ。

ジョギング後に筋トレ、必要に応じてPCを封じ仮眠、そして午後の作業みたいな絵図が描ければ上出来だ。


朝飯を食べてから昼飯までの間に結構腹が減るので朝食の量を増やしたい。

バナナジュース+食パン+卵1個(目玉焼き、スクランブルエッグなど)+ミニトマト2~3個、というのがここ1か月ほどの定番だ。

シリアルあたり付け加えてみるか。腹持ちはいいだろう。

野菜も欲しいが、どうも手軽に準備できるミニトマト以外が付け加えにくい。葉物野菜の扱いが上手くなりたい。

Categories: