#P2125. Destroying The Graph

    ID: 1126 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>其他图结构二分图网络流Northeastern Europe 2003Northern Subregion

Destroying The Graph

题目描述

Alice和Bob玩一个游戏。首先,Alice画一个有向图,包含NN个顶点和MM条弧。之后,Bob尝试破坏这个图。每次操作中,Bob可以选择任意一个顶点,并删除该顶点的所有入边或所有出边。

Alice为每个顶点设定了两个成本值:Wi+W_i^+WiW_i^-。如果Bob删除第ii个顶点的所有入边,他需要支付Wi+W_i^+美元;如果删除所有出边,则需要支付WiW_i^-美元。

要求计算Bob删除图中所有弧的最小总成本,并输出操作步骤。

输入格式

输入文件描述Alice所画的有向图。
第一行包含NNMM1N1001 \leq N \leq 1001M50001 \leq M \leq 5000)。
第二行包含NN个整数,表示Wi+W_i^+
第三行包含NN个整数,表示WiW_i^-
所有成本均为正数且不超过10610^6
接下来的MM行,每行包含两个整数,描述一条有向弧。图中可能包含自环和平行边。

输出格式

第一行输出WW——Bob删除所有弧的最小总成本。
第二行输出KK——Bob需要的操作次数。
接下来的KK行,每行描述一个操作,包含顶点编号和'+'或'-'字符,用空格分隔。'+'表示删除该顶点的所有入边,'-'表示删除所有出边。

示例输入1

3 6
1 2 3
4 2 1
1 2
1 1
3 2
1 2
3 1
2 3

示例输出1

5
3
1 +
2 -
2 +

来源

Northeastern Europe 2003, Northern Subregion