CF1486F.Pairs of Paths

省选/NOI-

通过率:0%

时间限制:6.00s

内存限制:512MB

AC君温馨提醒

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

题目描述

You are given a tree consisting of nn vertices, and mm simple vertex paths. Your task is to find how many pairs of those paths intersect at exactly one vertex. More formally you have to find the number of pairs (i,j)(i, j) (1≤i<j≤m)(1 \leq i \lt j \leq m) such that pathipath_i and pathjpath_j have exactly one vertex in common.

给你一棵包含 nn 个顶点的树,以及 mm 条简单顶点路径。你的任务是计算这些路径中有多少对路径恰好在一个顶点处相交。更准确地说,你需要计算满足以下条件的数对 (i,j)(i, j)(其中 1≤i<j≤m1 \leq i < j \leq m)的个数:路径 pathipath_i 与路径 pathjpath_j 恰好有一个公共顶点。

输入格式

First line contains a single integer nn (1≤n≤3⋅105)(1 \leq n \leq 3 \cdot 10^5).

Next n−1n - 1 lines describe the tree. Each line contains two integers uu and vv (1≤u,v≤n)(1 \leq u, v \leq n) describing an edge between vertices uu and vv.

Next line contains a single integer mm (1≤m≤3⋅105)(1 \leq m \leq 3 \cdot 10^5).

Next mm lines describe paths. Each line describes a path by it's two endpoints uu and vv (1≤u,v≤n)(1 \leq u, v \leq n). The given path is all the vertices on the shortest path from uu to vv (including uu and vv).

第一行包含一个整数 nn (1≤n≤3⋅105)(1 \leq n \leq 3 \cdot 10^5)。

接下来的 n−1n - 1 行描述一棵树。每行包含两个整数 uu 和 vv (1≤u,v≤n)(1 \leq u, v \leq n),表示顶点 uu 与 vv 之间存在一条边。

接下来一行包含一个整数 mm (1≤m≤3⋅105)(1 \leq m \leq 3 \cdot 10^5)。

接下来的 mm 行描述路径。每行通过其两个端点 uu 和 vv (1≤u,v≤n)(1 \leq u, v \leq n) 描述一条路径。所给路径为从 uu 到 vv 的最短路径上的所有顶点(包括 uu 和 vv)。

输出格式

Output a single integer — the number of pairs of paths that intersect at exactly one vertex.

输出一个整数——恰好在一个顶点处相交的路径对的数量。

输入输出样例

  • 输入#1

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

    输出#1

    2
  • 输入#2

    1
    3
    1 1
    1 1
    1 1

    输出#2

    3
  • 输入#3

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

    输出#3

    7

说明/提示

The tree in the first example and paths look like this. Pairs (1,4)(1,4) and (3,4)(3,4) intersect at one vertex.

In the second example all three paths contain the same single vertex, so all pairs (1,2)(1, 2), (1,3)(1, 3) and (2,3)(2, 3) intersect at one vertex.

The third example is the same as the first example with two additional paths. Pairs (1,4)(1,4), (1,5)(1,5), (2,5)(2,5), (3,4)(3,4), (3,5)(3,5), (3,6)(3,6) and (5,6)(5,6) intersect at one vertex.

第一个样例中的树及路径如下图所示。点对 (1,4)(1,4) 和 (3,4)(3,4) 在一个顶点处相交。

在第二个样例中,全部三条路径均包含同一个唯一顶点,因此所有点对 (1,2)(1, 2)、(1,3)(1, 3) 和 (2,3)(2, 3) 均在一个顶点处相交。

第三个样例与第一个样例相同,但额外增加了两条路径。点对 (1,4)(1,4)、(1,5)(1,5)、(2,5)(2,5)、(3,4)(3,4)、(3,5)(3,5)、(3,6)(3,6) 和 (5,6)(5,6) 均在一个顶点处相交。

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

首页