传送门
题意

分析
比较好想的方法是一维的 d p dp dp,但是这样就要去用可通行的道路,这些道路的最大数量为 n ∗ ( n − 1 ) n * (n - 1) n∗(n−1),显然会 t t t飞
所以我们考虑利用这些不能走的路,设置 f [ i ] [ j ] f[i][j] f[i][j]为走 i i i步到达 j j j的方案数,那么,状态转移就是 f [ i ] [ j ] = ∑ k = 1 n f [ i − 1 ] [ k ] − f [ i − 1 ] [ 不 可 达 的 点 ] − f [ i − 1 ] [ j ] f[i][j] = \sum_{k=1}^{n} f[i - 1][k] - f[i - 1][不可达的点] - f[i - 1][j] f[i][j]=∑k=1nf[i−1][k]−

本文介绍了一种使用一维动态规划方法解决特定路径计数问题的算法。通过预处理不可达路径并利用这些信息进行状态转移,有效地降低了算法的时间复杂度至O((n+m)*k)。代码中详细展示了如何实现这一算法。
最低0.47元/天 解锁文章
9265

被折叠的 条评论
为什么被折叠?



