星际争霸
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%
- 上传者