#THU20232C. 集合

    ID: 11 Type: Default 4000ms 1024MiB Tried: 77 Accepted: 16 Difficulty: 10 Uploaded By: Tags>动态规划动态DP计算几何凸包数据结构LCT全局平衡二叉树清华推研机试考研

集合

时间限制: 4.0 秒

空间限制: 1024 MB

题目描述

给定一棵 nn 个点的有根树 TT,树的节点从 11 到 nn 标号,11 为根。每个点有两个整数值 ai,bia_i,b_i。

称一个点集 SS 是好的当且仅当其满足以下条件:

∀ u,v∈S (u≠v)\forall~ u, v\in S~(u\ne v) 满足 uu 是 vv 的祖先,∃ x∉S,y∈S\exist~ x\not\in S,y\in S,使得:

  • xx 在 uu 到 vv 的路径上;
  • by≤bxb_y \le b_x。

给出 qq 组询问,每组询问给出正整数 c,dc,d,找到一个好的点集 SS,最大化 $c\times (\sum\limits_{u\in S}a_u)+d\times (\min\limits_{u\in S}b_u)$。你只需要给出这个最大值。当 SS 为空时,认为 min⁡u∈Sbu=0\min\limits_{u\in S} b_u=0。

输入格式

从标准输入读入数据。

第一行两个整数 n,qn,q,描述树的节点数和询问次数。

接下来 n−1n-1 行,每行两个整数 u,vu,v,描述树的一条边。

接下来 nn 行,第 ii 行两个整数 ai,bia_i,b_i,描述节点 ii 的权值。

接下来 qq 行,每行两个整数 c,dc,d,描述一组询问。

输出格式

输出到标准输出。

对于每组询问输出一行一个整数表示答案。

3 4
1 2
1 3
1 -2
-2 1
-5 2
1 1
1 3
3 1
1 10
0
1
1
15

样例 1 解释

四组询问选择的集合依次是 ∅,{2},{1},{3}\varnothing,\{2\},\{1\},\{3\}。

子任务

对于所有测试数据:

  • 1≤n,q≤3×1051\le n,q\le 3\times 10^5;
  • 1≤u≠v≤n1\le u\ne v\le n, 保证给出的 n−1n-1 条边构成一棵树;
  • −104≤ai≤104,−109≤bi≤109-10^4\le a_i\le 10^4,-10^9\le b_i\le 10^9;
  • 1≤c,d≤1081\le c,d\le 10^8。

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 n≤n\le q≤q\le 特殊性质 分值
1 55 ×\times 3
2 1010 5
3 300300 5
4 30003000 30003000 9
5 3×1053\times 10^5 13
6 7×1047\times 10^4 200200 ✓\checkmark 14
7 3×1053\times 10^5 7
8 3×1053\times 10^5 6
9 7×1047\times 10^4 200200 ×\times 15
10 3×1053\times 10^5 13
11 3×1053\times 10^5 10

特殊性质:∀ 1≤i≤n−1\forall~ 1\le i\le n-1,ii 和 i+1i+1 有一条边。