HH去散步
阿新 • • 發佈:2021-07-28
題目link:https://www.luogu.com.cn/problem/P2151
Part1:
首先這道題的題目限制為走過一條邊不能按原邊返回,這就導致了這個圖的有向性,從而得出需要拆邊的結論。
Part2:
拆完邊後,容易看出如果要想滿足題目限制,那麼相當於走過第i條邊後,除了i的反向邊都可以走。
Part3:
得到上述特性後,再來觀察題目,發現數據範圍裡的m的值比較小,且比較的特殊,但是注意,因為通過Part1和Part2已經拆完邊了,那麼邊的數量(也就是m的值)需要 * 2。
眾所周知,這道題要求的路徑方案數和鄰接矩陣的冪次方有很大的關係,再加上 2 * m = 120 這個值,發現 120 的 3 次方 * log t(矩陣快速冪的複雜度為n^3 log k)約為 5e7 ,不會超時,因此考慮用2 * m為行列的大小建一個矩陣。
Part4:
建完矩陣後(注意這裡矩陣),容易發現矩陣中的元素的一種恰當的表達方式為如果第i條邊的終點是第j條邊的起點 && 第i條邊和第j條邊不是反向邊,那麼矩陣中的第i行第j列的元素就是1,否則為0。
Part5:
考慮