#P16908. [Ontak2026]旅游路线

[Ontak2026]旅游路线

题目描述

Rampton 山区最近被游客发现。当地有 nn 座山间小屋,已有的道路恰好连接成一棵树,因此任意两座小屋之间都存在唯一的一条简单路径。

为了规范不断增长的游客流量,管理者计划沿现有道路划定若干条旅游路线

通过网上投票,共收到了 mm 个候选方案。每个方案指定两座小屋,并希望把它们之间的唯一简单路径作为一条旅游路线。

为了避免某些道路过于拥挤,最终选出的任意两条旅游路线不能使用同一条树边。它们可以经过同一个小屋,只要没有共用道路即可。

你的任务是从 mm 个候选方案中选择尽可能多的方案,使得被选择的路线两两边不相交。

输入格式

第一行包含整数 nn

2n40002\le n\le 4000

接下来 n1n-1 行,每行包含两个整数 a,ba,b,表示小屋 aabb 之间有一条道路:

1abn1\le a\ne b\le n

这些道路构成一棵树。

每个小屋连接的道路数不超过 2424。此外,在总计 9090 分的测试中,最大度数不超过 1212

随后一行包含整数 mm,表示候选路线数:

0mmin ⁣((n2),500000)0\le m\le \min\!\left(\binom n2,500000\right)

接下来 mm 行,每行包含两个整数 ui,viu_i,v_i,表示一个候选方案,希望选择连接 uiu_iviv_i 的唯一简单路径。

任意两个候选方案不会对应同一对小屋。

输出格式

输出一个整数,表示最多可以选择多少条候选旅游路线,使得任意两条被选择的路线都不共用树边。

样例

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

子任务

dd 为树的最大度数。

子任务 限制 分值
1 n16, d12n\le16,\ d\le12 8
2 d3d\le3 21
3 d5d\le5 25
4 d12d\le12 37
5 d24d\le24 9