矩阵树&BEST定理速查
矩阵树构建(记得删去一行一列,有向树删根):
无向:a[x][y]--,a[y][x]--,a[x][x]++,a[y][y]++;
内向:a[x][y]--,a[x][x]++;(或者a[y][x]--,a[x][x]++;)
外向:a[x][y]--,a[y][y]++;(或者a[y][x]--,a[y][y]++;)
可见我们在 a[x][y] 的修改和在 a[y][x] 的修改是完全等价的,因为我们可以让矩阵同时左乘和右乘单位矩阵转90度的矩阵,det不变。
理解记录:我们总是让 (x,y) 当成 (1,-1),然后内向树我们钦定每个点有唯一出度所以还有 (1,0) ,外向树唯一入度所以 (0,1)。
矩阵树定理是不需要特判自环的,这个代入上式会发现自己会抵消。
BEST定理是用来做欧拉回路计数的,需要先判定一下是否有欧拉回路。
公式为 : \(ans = T_s\prod(deg_i-1)!\),如果是欧拉路径,根节点的 \(deg_i\) 不减一(使用路径终点作为根)。

浙公网安备 33010602011771号