ABC187 F Close Gap
bitDP. 各状態について, 部分集合を列挙したい.
愚直に部分集合を列挙すると$ O(4^N)となり間に合わないが, うまくbit演算を用いると$ O(3^N)でできてしまう. 制約が厳しいがC++なら通る.
実装例: https://atcoder.jp/contests/abc187/submissions/19165624