题目 20386

和谐

查看题解 ↗GitHub ↗如何评测
题号
20386
时间限制
1000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 26 - T4

第 4 题 和谐 (harmonija)

时间限制 1.0 s · 空间限制 256 MB · 111 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 harmonija.in,输出文件 harmonija.out。

本题满分 110。

题目描述

给定一棵 nn 个点的树,每个点有红权值 cic_i 和蓝权值 pip_i。

qq 次独立询问,每次询问给定 u,vu, v,设 u,vu, v 最短路上的点依次为 s1,s2,…,sks_1, s_2, \ldots, s_k。你需要依次将 s1,s2,…,sks_1, s_2, \ldots, s_k 染成红色或者蓝色,满足:

  • 对于 i=1,2,…,ki = 1, 2, \ldots, k,在染色 s1∼sis_1 \sim s_i 时,设有 xx 个红点,yy 个蓝点,则 max⁡(x,y)<min⁡(x,y)+3\max(x, y) < \min(x, y) + 3。

对于每次询问,求出满足条件的染色方案中,所有蓝点的蓝点权和红点的红点权之和的最大值。形式化地说,你需要求出

∑1≤i≤k, si is red vertexcsi+∑1≤i≤k, si is blue vertexpsi\sum_{1 \le i \le k,\ s_i \text{ is red vertex}} c_{s_i} + \sum_{1 \le i \le k,\ s_i \text{ is blue vertex}} p_{s_i}

的最大值。

根据定义,可以证明符合条件的路径总是存在。

输入格式

第一行,两个正整数 n,qn, q(1≤n,q≤1051 \le n, q \le 10^5)。

第二行,nn 个整数 cic_i(−109≤ci≤109-10^9 \le c_i \le 10^9)。

第三行,nn 个整数 pip_i(−109≤pi≤109-10^9 \le p_i \le 10^9)。

接下来 (n−1)(n - 1) 行,每行两个正整数 u,vu, v(1≤u,v≤n,u≠v1 \le u, v \le n, u \neq v),描述一条树边。保证输入形成树。

接下来 qq 行,每行两个正整数 u,vu, v(1≤u,v≤n1 \le u, v \le n),描述一次询问。

输出格式

输出 qq 行,每行一个整数,表示答案。

样例

样例 1

输入:

文本
4 1
10 10 10 10
-10 0 -10 0
1 2
2 3
3 4
1 4

输出:

文本
30

样例 2

输入:

文本
5 3
-5 -4 0 -3 3
3 1 -5 0 0
3 2
1 4
3 5
1 2
2 5
1 4
5 3

输出:

文本
4
3
3

提示

样例解释

样例一解释:依次染成红、蓝、红、红是一个最优解。

子任务

  • Subtask 1(27 pts):n,q≤15n, q \le 15。
  • Subtask 2(41 pts):n,q≤1000n, q \le 1000。
  • Subtask 3(19 pts):q≤10000q \le 10000。
  • Subtask 4(23 pts):无额外限制。

数据下载

题目 20386 的公开数据

正在读取文件列表…

常用命令

题目 20386 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。