ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

第13回JOI予選 D - 部活のスケジュール表 (Schedule)

問題
提出コード

解法

dp[i][S] = i日目に参加した部員の状態がSであるような、1からi日目までの部員の組み合わせの通り数
とします。
すると、
Sの中に、責任者が含まれていなければならない
という条件があるので、もしSの中に責任者がいなければ、

  • dp[i][S] = 0

となります。
そうでない場合は、
S \cup T \neq \varnothing
となるようなTの総和を求めればよく、

  • dp[i][S] = \sum dp[i-1][T] (S \cup T \neq \varnothing)

を計算すればよいです。

感想

はじめ、状態が8種類しかないところに気づけなかったので危なかったです。