#P2764. 最小路径覆盖问题

    ID: 1773 Type: RemoteJudge 1000ms 128MiB Tried: 1 Accepted: 1 Difficulty: 9 Uploaded By: Tags>网络流Special JudgeO2优化网络流与线性规划 24 题

最小路径覆盖问题

题目描述

给定有向图 G=(V,E)G=(V,E) 。设 PP 是 GG 的一个简单路(顶点不相交)的集合。如果 VV 中每个顶点恰好在 PP 的一条路上,则称 PP 是 GG 的一个路径覆盖。PP 中路径可以从 VV 的任何一个定点开始,长度也是任意的,特别地,可以为 00。GG 的最小路径覆盖是 GG 所含路径条数最少的路径覆盖。设计一个有效算法求一个 DAG(有向无环图)GG 的最小路径覆盖。

输入格式

第一行有两个正整数 nn 和 mm。nn 是给定 DAG(有向无环图)GG 的顶点数,mm 是 GG 的边数。接下来的 mm 行,每行有两个正整数 ii 和 jj 表示一条有向边 (i,j)(i,j)。

输出格式

从第一行开始,每行输出一条路径。文件的最后一行是最少路径数。

11 12
1 2
1 3
1 4
2 5
3 6
4 7
5 8
6 9
7 10
8 11
9 11
10 11
1 4 7 10 11
2 5 8
3 6 9
3

提示

对于 100%100\% 的数据,1≤n≤1501\leq n\leq 150,1≤m≤60001\leq m\leq 6000。

由 @FlierKing 提供 SPJ