AT_agc025_e.[AGC025E] Walking on a Tree
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君非常喜欢在树上散步。高桥君散步的树由 N 个顶点组成,每个顶点被编号为 1 到 N。此外,N−1 条边中的第 i 条边连接顶点 ai 和顶点 bi。
高桥君计划进行 M 次散步。第 i 次散步将按以下方式进行:
- 确定两个顶点 ui 和 vi。
- 高桥君将从顶点 ui 移动到顶点 vi,或者从顶点 vi 移动到顶点 ui,且同一条边不会被重复经过。
此外,第 i 次散步的乐趣定义如下:
- 在第 i 次散步中经过的边中,满足以下任一条件的边的数量:
- 本次散步中首次经过的边;
- 之前曾经经过但仅以相反方向经过的边。
高桥君希望通过为每次散步选择方向,使得 M 次散步的总乐趣最大化。因此,请计算高桥君能够获得的最大总乐趣,并给出一个实际使总乐趣最大的散步方向设定示例。
输入格式
输入通过标准输入给出,格式如下:
N M
a1 b1
⋮
aN−1 bN−1
u1 v1
⋮
uM vM
输出格式
输出高桥君能够获得的最大总乐趣 T,以及一个实际使总乐趣最大的散步方向设定示例,格式如下:
T
u1′ v1′
⋮
uM′ vM′
其中,(ui′,vi′) 为 (ui,vi) 或 (vi,ui),表示第 i 次散步将从 ui′ 移动到 vi′。
输入输出样例
输入#1
4 3 2 1 3 1 4 1 2 3 3 4 4 2
输出#1
6 2 3 3 4 4 2
输入#2
5 3 1 2 1 3 3 4 3 5 2 4 3 5 1 5
输出#2
6 2 4 3 5 5 1
输入#3
6 4 1 2 2 3 1 4 4 5 4 6 2 4 3 6 5 6 4 5
输出#3
9 2 4 6 3 5 6 4 5
说明/提示
约束条件
- 1≤N,M≤2000
- 1≤ai,bi≤N
- 1≤ui,vi≤N
- ai=bi
- ui=vi
- 输入给出的图是一棵树。
样例解释 #1
按照上述方式设定散步方向后,每次散步可以获得 2 点乐趣,总乐趣为 6。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?