题目链接
做法
可以证明直接计算不需要约分,可以直接取模。
证明:若 $ \frac{x}{y} $ 中 $ x, y $ 互质,则 $ a + \frac{x}{y} = \frac{ay + x}{y} $ 中 $ ay + x, y $ 互质(考虑辗转相除法中 gcd(X, Y) = gcd(Y, X % Y) (Y = y, X = ax + y)
)。
这样可以得到 $ 35 pts $ 。
设 $ f[a_0 \dots a_n] = \frac{x[a_0 \dots a_n]}{y[a_0 \dots a_n]} $ ,则:
由于这些都是最简分数,所以:
可以得到:
考虑在图上的意义。在一个由 $ n $ 个节点的有向图,$ i $ 向 $ i + 1 $ 连边权为 $ a_i $ 的边,向 $ i + 2 $ 连边权为 $ 1 $ 的边。最后的值为 $ 1 $ 到 $ n $ 的路径边权乘积之和。显然这些边可以反向。可以得到:
然后这个东西可以矩阵转移。
维护前缀积即可。
时间复杂度 $ O(n + m) $ (矩阵乘法常数堪比一个 $ \log $ ) 。
1 |
|