迂迴(tour)

算點ii在第kk個時刻到達恰好到達點jj的方案數就是Ai,jkA^k_{i,j},AA爲鄰接矩陣

所以我們需要算A1A^1AkA^k

一個辦法是每個點再連出一個虛點,虛點連一個自環,引出路徑讓它在虛點裏繞圈,但是這樣nn要多開一倍,複雜度無法接受

另一個辦法是:
i=1kAi=i=1k2Ai+Ak2i=1k2Ai+[k&1]Ak \sum_{i=1}^{k}A^i=\sum_{i=1}^{\lfloor\frac{k}{2}\rfloor}A^i+A^{\lfloor\frac{k}{2}\rfloor}\sum_{i=1}^{\lfloor\frac{k}{2}\rfloor}A^i+[k\&1]A^k
分治即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章