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