Skip to content

a01sa01to/cp-review

Repository files navigation

cp-review.a01sa01to.com

競プロ復習ツール

モデル

b を節約率 ( 0 b 1 ) t を経過時間 (分) とすると、エビングハウスの忘却曲線の「節約率」の近似として b ( t ) = k ( log 10 t ) c + k ( c = 1.25 , k = 1.84 ) があるらしいので、 (厳密には違うが) "忘却量" を f = 1 b とすると f ( t ) = ( log 10 t ) c ( log 10 t ) c + k となる。

問題を n ( 1 ) 回解いたとする。 i 回目に解いた時刻は t i とする (最初に解いた時を基準とする: t 1 = 0 )。 今、時刻 t = t n + 1 において問題を解くとすると、その時点での忘却量は i = 1 n f ( t i + 1 t i ) = f ( t 2 t 1 ) f ( t 3 t 2 ) f ( t t n ) で表現できそう。

また、どう考えても難易度の低い問題はすぐに方針が立ちそう。 ということでちょっとだけ diff も考慮する。 なんとなくグラフを見ながら良さそうだったので 1 + d 8000 をかけることにした。 ( d は diff)

以上をまとめて、 ( 1 + d 8000 ) i = 1 n f ( t i + 1 t i ) が大きいものを優先して復習することにする。

ただ、実際には問題をそう頻繁に解くわけではないので、ほぼ diff による差になってしまう。 そこで、 t を分単位ではなく日単位で実装する。 また、 10 日未満の場合にはあまり意味がない気がするので、その場合はなかったことにする。

参考