2022/3/24(木)

今日も回復に1日使った。むぐぅ。


C++のコルーチンをのんびりと勉強した。読むだけではジェネレータの実装が非常に難解に思えたが、エラーを出しつつ写経してみるとすんなり頭に入った。

なんでそんな部分をユーザー実装にするんだろうと思ったけど、ジェネレータオブジェクトと外部とのインターフェースは使い方次第でかなりカスタマイズしたくなるな。範囲for回すならbeginやend欲しくなるし、関数オブジェクトらしく使いたいならoperator()欲しくなる。だいぶ納得した。


今日解いた競プロの問題。今日は以前に解説を見たものを咀嚼しながらACした。

ARC137-B 解説AC。「最小と最大の間は全て出来る」パターンというのは気づかなかった。そして、1の最大数と最小数が求められるというのにも気づけなかった。

範囲に含まれる0の数と1の数の差のみに依存する、ということは自力で気付けていたので、そこからもう少し考察を進められたなーと思う。「[l,r)に含まれる0と1の数の差」は「[0,l)に含まれる0と1の数の差」と「[0,r)に含まれる0と1の数の差」で求められるというところに進めなかった。そこにさえ気づければ$f(x):=[0,x)の0と1の数の差$という関数を考察するという発想が出ていたかもしれない。

範囲に関する関数$F([l,r))$は位置に関する関数$f(x)$を用いて$F([l,r))=f(r)-f(l)$と表せる場合がある、というのは発想のセットとして持っておいていい気がする。

ABC238-E 解説AC。F(2)上のベクトルの線形独立性とか考えたけど全くそんな難しいこと考えなくてよかった。解法見ればそれはそうなんだけど、どうやったら思いつけてたのか道筋が分からん。

$a_1 + … a_N$が欲しいんだから、まず$a_1 + … + a_i$みたいなのは必要で、そうなったら$a_{i+1} + …$みたいなのもないと無理なはずで、最終的には$… + a_N$がなければいけないはずで…と考えたら、あれ、自明じゃん、畜生!


久しぶりに筋トレをやった。体がなまっているのを感じたので整復のためにやってみた次第。

この数日回復のために体を動かさないでいたのだが、体を動かさないでいるとこんどは体が鈍る。体が鈍ることによってなんだろう、筋肉的な部分は逆に力が落ちる。

なんとなく体の調子を司るものには「エネルギー的な要素」と「筋肉的な要素」があるように思う。これはあくまで比喩で、筋肉的な要素は脳や心にもあると感じる。

ずっと稼働させていると「筋肉的な要素」は調子が良くなるが、「エネルギー的な要素」はすり減って調子が悪くなる。さらに稼働させていると「筋肉的な要素」もガタが来てひどいことになる。

逆に稼働させないでいると「エネルギー的な要素」は回復するが、同時に「筋肉的な要素」は鈍って錆びついて動きにくくなっていく。もっと稼働させないでいると「エネルギー的な要素」もどこかへ漏れ出していく。

メリハリの付いた活動と休息だけがこのバランスを整えられるのだが、それは非常に難しい。この数週間、徹底した早寝早起きで完璧な状態になっていると感じていたが、無理な早起きとかが時々あるとその積み重ねなのか急にガタが来た。

生活習慣構築はまだまだ奥が深い。

Categories: