AT_agc033_f.[AGC033F] Adding Edges

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵有 NN 个顶点的树 TT 和一个有 NN 个顶点、MM 条边的无向图 GG。每个顶点编号为 11 到 NN。树 TT 的第 ii 条边连接顶点 aia_i 和顶点 bib_i。图 GG 的第 jj 条边连接顶点 cjc_j 和顶点 djd_j。

你可以对 GG 重复进行如下操作来添加边:

  • 选择三个整数 aa、bb、cc,使得 GG 中存在边 abab 和 bcbc,但不存在边 acac。如果 aa、bb、cc 三个顶点在树 TT 的某条简单路径上按任意顺序都出现过,则在 GG 中添加一条 acac 边。

当无法再添加边时,求 GG 中的边数。无论操作顺序如何,最终的边数都是相同的。

输入格式

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

NN MM a1a_1 b1b_1 a2a_2 b2b_2 ⋯\cdots aN−1a_{N-1} bN−1b_{N-1} c1c_1 d1d_1 c2c_2 d2d_2 ⋯\cdots cMc_M dMd_M

输出格式

输出最终 GG 中的边数。

输入输出样例

  • 输入#1

    5 3
    1 2
    1 3
    3 4
    1 5
    5 4
    2 5
    1 5

    输出#1

    6
  • 输入#2

    7 5
    1 5
    1 4
    1 7
    1 2
    2 6
    6 3
    2 5
    1 3
    1 6
    4 6
    4 7

    输出#2

    11
  • 输入#3

    13 11
    6 13
    1 2
    5 1
    8 4
    9 7
    12 2
    10 11
    1 9
    13 7
    13 11
    8 10
    3 8
    4 13
    8 12
    4 7
    2 3
    5 11
    1 4
    2 11
    8 10
    3 5
    6 9
    4 10

    输出#3

    27

说明/提示

限制条件

  • 2≤N≤20002 \leq N \leq 2000
  • 1≤M≤20001 \leq M \leq 2000
  • 1≤ai,bi≤N1 \leq a_i, b_i \leq N
  • ai≠bia_i \neq b_i
  • 1≤cj,dj≤N1 \leq c_j, d_j \leq N
  • cj≠djc_j \neq d_j
  • GG 不含重边
  • TT 是一棵树

样例解释 1

按照如下顺序添加边,可以将边数增加到 66:

  • 选择 (a,b,c)=(1,5,4)(a,b,c)=(1,5,4),在顶点 11 和顶点 44 之间添加一条边。
  • 选择 (a,b,c)=(1,5,2)(a,b,c)=(1,5,2),在顶点 11 和顶点 22 之间添加一条边。
  • 选择 (a,b,c)=(2,1,4)(a,b,c)=(2,1,4),在顶点 22 和顶点 44 之间添加一条边。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页