atcoder#AGC025E. [AGC025E] Walking on a Tree

[AGC025E] Walking on a Tree

得分:15001500

问题陈述

高桥喜欢在树上散步。 高桥走的树有 NN 个顶点,编号从 11NN。 第 ii 条边连接顶点 aia_i 和顶点 bib_i

高桥安排了 MM 次散步。第 ii 次散步的过程如下:

  • 散步涉及两个顶点 uiu_iviv_i,这些顶点事先固定。
  • 高桥将沿着从 uiu_iviv_i 或从 viv_iuiu_i 的最短路径行走。

从第 ii 次散步中获得的幸福感定义如下:

  • 幸福感的获得是指在第 ii 次散步中经过的边数,这些边满足以下条件之一:
    • 在之前的散步中,这条边从未被遍历。
    • 在之前的散步中,这条边仅以与第 ii 次散步相反的方向被遍历。

高桥希望决定每次散步的方向,以便最大化 MM 次散步获得的总幸福感。 找到可以获得的最大总幸福感,以及一种具体的选择散步方向的方法,以最大化总幸福感。

约束条件

  • 1N,M20001 \leq N,M \leq 2000
  • 1ai,biN1 \leq a_i , b_i \leq N
  • 1ui,viN1 \leq u_i , v_i \leq N
  • aibia_i \neq b_i
  • uiviu_i \neq v_i
  • 输入的图为树。

输入

输入通过标准输入以以下格式给出:

NN MM

a1a_1 b1b_1

:

aN1a_{N-1} bN1b_{N-1}

u1u_1 v1v_1

:

uMu_M vMv_M

输出

打印可以获得的最大总幸福感 TT,以及一种选择散步方向的方法,使总幸福感最大化,格式如下:

TT

u^'_1 v^'_1

:

u^'_M v^'_M

其中 (u^'_i,v^'_i)(ui,vi)(u_i,v_i)(vi,ui)(v_i,u_i),这意味着第 ii 次散步是从顶点 u^'_iv^'_i

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

如果我们按照上述方式选择散步方向,每次散步获得的幸福感为 22,因此总幸福感为 66

5 3
1 2
1 3
3 4
3 5
2 4
3 5
1 5
6
2 4
3 5
5 1
6 4
1 2
2 3
1 4
4 5
4 6
2 4
3 6
5 6
4 5
9
2 4
6 3
5 6
4 5