解法
条件の否定を考えると,黒が 0箇所となるので,扱いやすい. よって包除原理が使いやすい. 共通部分を求める包除原理を用いる. この場合,\(s \in 2^{M}\) を動かすとき,\(s = \emptyset\) を含むことと, 符号 \*1 return true;
条件の否定を考えると,黒が 0箇所となるので,扱いやすい. よって包除原理が使いやすい. 共通部分を求める包除原理を用いる. この場合,\(s \in 2^{M}\) を動かすとき,\(s = \emptyset\) を含むことと, 符号 \*1 return true;
*1:-1)^{|s|}\) に注意. 和集合の包除原理とは異なる.
任意の \(s \in 2^{M}\) と 任意の \(i \in s\) に対して 条件 \(i\) を満たすことは, \( t := \cup_{i \in s} E(path_{a_{i},b_{i}})\) を白にする事と同値. よって,残り \(N-1 - |t|\) 本の辺を自由に選べることと同値なので, \(2^{N-1-|t|}\) 通り.
使っている記号,マクロ等 "https://ecsmtlir.hatenablog.com/entry/2022/12/23/131925"