mini notes

競技プログラミングの解法メモを残していきます。

ABC187F - Close Group

問題:F - Close Group

解答:Submission #19455050 - AtCoder Beginner Contest 187

解法:元のグラフをG = (V, E)とする。S ⊂ Vに対し、f(S)を誘導部分グラフ(S, Es)に対する元の問題の答えとすると、f(S)はSが完全グラフ(すべての頂点間に辺が張られたグラフ)であれば1、そうでなければmin{f(T) + f(S / T) | T ⊂ S}である。よってbitDPが適用できる。

計算量は要確認…。部分集合の遷移をO(3^N)でできないと間に合わないらしく、これはfor(int t = (s - 1) & s; t > 0; t = (t - 1) & s)のようなfor文で実現できる。