luogu#P2764. 最小路径覆盖问题

    ID: 6798 远端评测题 1000ms 128MiB 尝试: 8 已通过: 3 难度: 6 上传者: 标签>网络流Special JudgeO2优化网络流 24 题

最小路径覆盖问题

题目描述

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

输入格式

第一行有两个正整数 nnmmnn 是给定 DAG(有向无环图)GG 的顶点数,mmGG 的边数。接下来的 mm 行,每行有两个正整数 iijj 表示一条有向边 (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\% 的数据,1n1501\leq n\leq 1501m60001\leq m\leq 6000

由 @FlierKing 提供 SPJ