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

题目背景

本题满分 $110$。

题目描述

给定一棵 $n$ 个点的树,每个点有红权值 $c_i$ 和蓝权值 $p_i$。 $q$ 次**独立**询问,每次询问给定 $u,v$,设 $u,v$ 最短路上的点依次为 $s_1,s_2,\ldots,s_k$。你需要**依次**将 $s_1,s_2,\ldots,s_k$ 染成红色或者蓝色,满足: - 对于 $i=1,2,\ldots,k$,在染色 $s_1\sim s_i$ 时,设有 $x$ 个红点,$y$ 个蓝点,则 $\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,q$($1\le n,q\le 10^5$)。 第二行,$n$ 个整数 $c_i$($-10^9\le c_i\le 10^9$)。 第三行,$n$ 个整数 $p_i$($-10^9\le p_i\le 10^9$)。 接下来 $(n-1)$ 行,每行两个正整数 $u,v$($1\le u,v\le n,u\neq v$),描述一条树边。保证输入形成树。 接下来 $q$ 行,每行两个正整数 $u,v$($1\le u,v\le n$),描述一次询问。

输出格式

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

说明/提示

### 样例解释 **样例一解释**:依次染成红、蓝、红、红是一个最优解。 ### 子任务 - $\text{Subtask 1 (27 pts)}$:$n,q\le 15$。 - $\text{Subtask 2 (41 pts)}$:$n,q\le 1000$。 - $\text{Subtask 3 (19 pts)}$:$q\le 10000$。 - $\text{Subtask 4 (23 pts)}$:无额外限制。