No.733 コード 問題 BitDP を使う. 問題の集合 \(S\) を並列に解いたときの最小のPCの台数を \(C(S)\) とすると, \[C(S) = \min_{T \subset S} (C(T) + C(S \setminus T))\] となる. これをそのまま計算すると \(O(4^N)\) となるが, ある集合の部分集合を列挙する部分でうまく工夫すると \(O(3^N)\) に落とすことができる.