2022/8/2(火)

今週の胎界主を読んだ。ルーサー思いっきり機密バラしてないかこれ。


このはカレンダーをめくった。水着ええな。おっさんみたいな感想になってしまった。


今日解いた競プロの問題。

ARC145-B: ゲームnにおいて、

  • $n<A$ならBobの勝ち。(初手Alice手詰まり)
  • $n\geq A$かつ$B > n \% A$ならAliceの勝ち。(初手Aliceが取れるだけ取って勝ち)
  • $n\geq A$かつ$B \leq n \% A$ならBobの勝ち。($B \leq i \%A < A$となるため、初手Aliceがどう動こうとBobが取れるだけ取れば2手Aliceは手詰まり)

これを1つ1つ数えれば当然TLEなので、まとめて数える数式を考える。

$n\leq k$において$n % A$が$B$未満となる$n$の数を$f(k)$として、$f(N)-f(A-1)$と表すと良さそうだということが分かる。$f(k)$はいろいろ頑張った結果、こんな感じで表せた。

$f(k)=\lfloor \frac{k+1}{A} \rfloor \min(A,B)+\min((k+1)\%A, B)$

この式は$k<A$のときにバグるので、どうせ$N<A$なら答えは0なのだから場合分けした。


RustのORM、dieselを触った。最近はsqlxの方が売れているらしいが、自分はLaravelのEloquent ORMなどに慣れきってしまっているためしっかりしたORMを使いたかった。SQLに苦手意識があるわけではないのだが、同じものを扱うためにSQL文とRustの2つの言語を書くのはなるべく避けたい。

マイグレーションだけはSQL文を自分で書かなければならない。Laravelならそこも本体と同じくPHPで統一してあるのになどと思ったが、まあ許容範囲。

どうもRust-Analyzerが型を認識してくれないことがある。dieselは静的に多くのことを解決してくれるタイプのライブラリであるためだろうか。人から聞いた話によると前から問題になっていて、dieselの開発者もrust-analyzerの開発陣と色々やりとりして解決しようとしているらしい。旧rlsでは起こらなかった問題らしいが、rlsは廃止されようとしている。

とりあえずビルドは通るので面倒だがRust-Analyzerでやっていく。


体調があまりよろしくない。

  • ここ数日、目のしょぼしょぼ感がひどい。
  • ちょっと昼寝するつもりが2時間寝てしまった。睡眠が管理できていない。
  • やる気、というより集中力が持続しない。OpenXR開発がひと段落してしまったのでWeb開発をやっているのだが、こちらはまだあまり最終形のイメージができていないのだ。それが露骨に表れている。
  • 朝食、昼食のリズムが安定しない。料理をやることからやや離れていた。
  • 運動習慣がなくなってしまった。悪影響が出てきている気がする。とりあえずラジオ体操は再開した。

1ヶ月間のVR開発で生活習慣がメタメタになっている。本気で寝食も忘れて取り組みたいことがあるときは本当に寝食も忘れて取り組んでも成果が出るが、そこまでのものがない時は意識的に生活管理とタスク管理をしていった方が最終的にはより進捗が出る、ということではないかと考えた。今は後者のフェーズだと思われるので、生活改善に取り組みたい。この2つのフェーズに自覚的になれば「健康優先」と「やりたいこと優先」の生活の使い分けが出来るかもしれない。


今日摂取したコンテンツ。

Categories: