#P14468. [COCI 2025/2026 #1] 和谐 / Harmonija

    ID: 14410 远端评测题 2500ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>倍增2025矩阵乘法COCI(克罗地亚)动态 DP

[COCI 2025/2026 #1] 和谐 / Harmonija

题目背景

本题满分 110110

题目描述

给定一棵 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,在染色 s1sis_1\sim s_i 时,设有 xx 个红点,yy 个蓝点,则 max(x,y)<min(x,y)+3\max(x,y)\lt \min(x,y)+3

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

$$\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,q1n,q1051\le n,q\le 10^5)。

第二行,nn 个整数 cic_i109ci109-10^9\le c_i\le 10^9)。

第三行,nn 个整数 pip_i109pi109-10^9\le p_i\le 10^9)。

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

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

输出格式

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

4 1
10 10 10 10
-10 0 -10 0
1 2
2 3
3 4
1 4
30
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)\text{Subtask 1 (27 pts)}n,q15n,q\le 15
  • Subtask 2 (41 pts)\text{Subtask 2 (41 pts)}n,q1000n,q\le 1000
  • Subtask 3 (19 pts)\text{Subtask 3 (19 pts)}q10000q\le 10000
  • Subtask 4 (23 pts)\text{Subtask 4 (23 pts)}:无额外限制。