约 10 分钟
DAG 上求最长路:dp[v] 表示以 v 结尾的最长路径长度。按拓扑序处理,对每条边 u→v(权 w)松弛:dp[v]=max(dp[v], dp[u]+w)。因为无环,不会出现“越绕越长”的死循环,答案取所有 dp 的最大值。
dp[v]
dp[v]=max(dp[v], dp[u]+w)
dp
为什么最长路问题一般要求图是 DAG(无环)?
登录 后可看答案