当前位置:首页 > 图论 > 拓扑排序 > 正文
洛谷P1807最长路[NOI导刊]
732+

题目大意:一个n个点m条边的有向无环图,请问从起点1到终点n,最长路径长度是多少?

题目描述

设 $G$ 为有 $n$ 个顶点的带权有向无环图,$G$ 中各顶点的编号为 $1$ 到 $n$,请设计算法,计算图 $G$ 中 $<1,n>$ 间的最长路径。

输入输出格式

输入格式

输入的第一行有两个整数,分别代表图的点数 $n$ 和边数 $m$。

第 $2$ 到第 $(m + 1)$ 行,每行 $3$ 个整数 $u, v, w$,代表存在一条从 $u$ 到 $v$ 边权为 $w$ 的边。

输出格式

输出一行一个整数,代表 $1$ 到 $n$ 的最长路。

若 $1$ 与 $n$ 不联通,请输出 $-1$。

输入输出样例

输入样例 #1

2 1
1 2 1

输出样例 #1

1

说明

– 对于 $20\%$的数据,$n \leq 100$,$m \leq 10^3$。
– 对于 $40\%$ 的数据,$n \leq 10^3$,$m \leq 10^{4}$。
– 对于 $100\%$ 的数据,$1 \leq n \leq 1500$,$1 \leq m \leq 5 \times 10^4$,$1 \leq u, v \leq n$,$-10^5 \leq w \leq 10^5$。

解题思路

因为五环,所以暴力广搜求最长路即可。但对于有向无环图,我们还可以用拓扑排序、深搜记忆化等方法去做,时间复杂度O(m+n)。

程序实现

广搜:

倒搜:

About

坚决不Copy代码!

本文标签:,,,,,,,

洛谷P1807最长路[NOI导刊]:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!