#P14122. [SCCPC 2021] Direction Setting

    ID: 14087 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>四川2021网络流Special Judge费用流XCPC

[SCCPC 2021] Direction Setting

Description

给定一个包含 nn 个顶点和 mm 条边的无向图,第 ii 个顶点有一个限制 aia_i。请为每条边分配一个方向,使得整个图变为有向图,并且使下述值 DD 最小:

D=i=1nmax(0,diai)D = \sum\limits_{i=1}^n \max(0, d_i - a_i)

其中 did_i 表示第 ii 个顶点的入度(即指向该顶点的边的条数)。

Input Format

存在多组测试数据。输入的第一行为一个整数 TT,表示测试数据组数。对于每组测试数据:

第一行包含两个整数 nnmm2n3002 \le n \le 3001m3001 \le m \le 300),表示顶点数和边数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n0ai1040 \le a_i \le 10^4),其中 aia_i 表示第 ii 个顶点的限制。

接下来的 mm 行,每行包含两个整数 uiu_iviv_i1ui,vin1 \le u_i, v_i \le n),表示有一条边连接顶点 uiu_iviv_i。注意可能存在自环或重边。

保证所有测试数据中 nnmm 的总和不超过 3×1033\times10^3

Output Format

对于每组测试数据输出两行。第一行输出一个整数,表示最小的 DD。第二行输出一个长度为 mm 的字符串 s1s2sms_1s_2\cdots s_m,仅包含字符 01,表示每条边的定向分配方案以达到最小的 DD。如果 sis_i0,则第 ii 条边从 uiu_i 指向 viv_i;否则从 viv_i 指向 uiu_i。如果存在多组合法方案,可以输出任意一种。

2
4 5
0 1 1 5
1 2
1 3
2 3
3 2
4 4
3 2
0 0 2
1 3
3 2
2
00001
0
01

Hint

第一个样例测试数据如图所示:

:::align{center} :::

由 ChatGPT 5 翻译