頂点 を根とする木で 個の頂点を黒く塗る組み合わせの数を とする.
頂点 が持つ子の個数を , 子をそれぞれ とし, 頂点 の最初の 個の子のみがあるとして, 個の頂点を黒く塗る組み合わせの数を とする.
このとき,
で計算できる. あとは を葉から順に計算する. 葉から順にたどるには, 深さ優先探索や幅優先探索で頂点を列挙し, 列挙された頂点を逆からたどればいい.
ただ, そのまま計算すると計算量が となるので, の子孫の数をあらかじめ数えておき, がそれ以上なら計算しないようにして枝刈りをする.