星际争霸

星际争霸

Background

邱某又在和骚猪打星际争霸了,邱某在被骚猪各种套路之后,自己也研究出了一个高级的防御阵法。现在他们对打的地图中由于加了mod,飞行单位已经被ban了,而且人口无上限。这个战场是一棵树,邱某会心一笑,呵!看我不打爆你的猪头!游戏开始了,邱某的高级阵法大概描述是对于每一个第一类特殊性质点,以这个点为根的子树要放置至少y个跳虫,对于每一个第二类特殊性质点,在以这个点为根的子树外要放置至少k个跳虫。邱某自己知道哪些点满足特殊性质一,哪种满足特殊性质二,已经他们的y,k。由于邱某手残,所以他找到了你,让你来帮他操作。

Description

给定个\(n\)点、以 \(1\) 为根的树,你需要在树上放置⼀些跳虫(每个点最多放⼀个跳虫)。
有若⼲个以下两种限制:
1. 以\(x\)为根的⼦树内有⾄少\(y\)个跳虫;
2. 为\(x\)根的⼦树外有⾄少\(y\)个跳虫。
邱某希望你使⽤最少的跳虫达成⽬标。

Format

Input

输⼊第⼀⾏包含⼀个整数\(n\),表⽰树的⼤⼩。
接下来\(n-1\)⾏,每⾏两个整数\(x,y\),描述⼀条树上的边。
接下来⼀⾏⼀个整数\(m_1\),表⽰第\(1\)类限制的个数
接下来\(m_1\)⾏,每⾏两个整数\(x,y\),描述⼀个第\(1\)类限制
接下来⼀⾏⼀个整数\(m_2\),表⽰第\(2\)类限制的个数
接下来\(m_2\)⾏,每⾏两个整数\(x,y\),描述⼀个第\(2\)类限制

Output

如果有解,输出⼀个整数表⽰最少的跳虫个数;否则输出 -1

Sample 1

Input

10
10 1
5 7
9 4
7 9
8 9
1 2
4 3
6 1
1 4
3
3 1
4 4
9 0
3
3 5
9 3
7 5

Output

6

Limitation

本题共有10个测试点。
对于\(60\%\)的数据,\(n \le 5 \times 10^3\)
对于\(80\%\)的数据,\(n \le 5 \times 10^4\)
对于\(100\%\)的数据,\(n \le 3 \times 10^5\)

猴急(Afterword)

然而邱某只会莽蟑螂,根本不出跳虫,所以邱某在ban了骚猪SCV的情况下还是输了。

题外话

本来准备作考试题的,但是数据太水,以至于错误的解法都可以AC,又因为这题的数据生成器有BUG,所以放弃了这道题。

信息

难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者