P4126 [AHOI2009]最小割

    • 278通过
    • 698提交
  • 题目提供者 Created_equal1 管理员
  • 评测方式 云端评测
  • 标签 并查集 强连通分量,缩点 最大流 最小割 各省省选 2009 安徽
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    A,B两个国家正在交战,其中A国的物资运输网中有$N$个中转站,$M$条单向道路。设其中第$i (1≤i≤M)$条道路连接了$v_i,u_i$两个中转站,那么中转站$v_i$可以通过该道路到达$u_i$中转站,如果切断这条道路,需要代价$c_i$。

    现在B国想找出一个路径切断方案,使中转站$s$不能到达中转站$t$,并且切断路径的代价之和最小。

    小可可一眼就看出,这是一个求最小割的问题。但爱思考的小可可并不局限于此。现在他对每条单向道路提出两个问题:

    • 问题一:是否存在一个最小代价路径切断方案,其中该道路被切断?
    • 问题二:是否对任何一个最小代价路径切断方案,都有该道路被切断?

    现在请你回答这两个问题。

    输入输出格式

    输入格式:

    第一行有$4$个正整数,依次为$N,M,s,t$。

    第$2$行到第$(M+1)$行每行$3$个正整数$v,u,c$,表示$v$中转站到$u$中转站之间有单向道路相连,单向道路的起点是$v$, 终点是$u$,切断它的代价是$c(1≤c≤100000)$。

    注意:两个中转站之间可能有多条道路直接相连。 同一行相邻两数之间可能有一个或多个空格。

    输出格式:

    对每条单向边,按输入顺序,依次输出一行,包含两个非$0$即$1$的整数,分别表示对问题一和问题二的回答(其中输出$1$表示是,输出$0$表示否)。 同一行相邻两数之间用一个空格隔开,每行开头和末尾没有多余空格。

    输入输出样例

    输入样例#1: 复制
    6 7 1 6
    1 2 3
    1 3 2
    2 4 4
    2 5 1
    3 5 5
    4 6 2
    5 6 3
    输出样例#1: 复制
    1 0
    1 0
    0 0
    1 0
    0 0
    1 0
    1 0

    说明

    设第$(i+1)$行输入的边为$i$号边,那么$\{1,2\},\{6,7\},\{2,4,6\}$是仅有的三个最小代价切割方案。它们的并是$\{1,2,4,6,7\}$,交是 $\{\varnothing \}$ 。

    测试数据规模如下表所示

    数据编号 N M 数据编号 N M
    1 10 50 6 1000 20000
    2 20 200 7 1000 40000
    3 200 2000 8 2000 50000
    4 200 2000 9 3000 60000
    5 1000 20000 10 4000 60000
    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。