310137: CF1787G. Colorful Tree Again

Memory Limit:512 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Colorful Tree Again

题意翻译

### 题目描述 给定一棵有 $n$ 个节点的树,边有边权和颜色。每个点有被摧毁和不被摧毁两种状态,初始所有点都没被摧毁。 一条简单路径指图中没有重复节点的路径。简单路径的长度定义为路径上所有边的边权之和。 定义一条简单路径是好的,当且仅当路径仅有某一种颜色 $c$ 构成,且所有颜色为 $c$ 的边都在这条简单路径里,且路径上所有节点都没被摧毁。 你需要处理两种操作: 1. 摧毁一个节点; 2. 修复一个节点。 每个操作之后,你都需要输出最长的好的路径长度。若没有输出 $0$。 ~~写了 3 次样例解释全被删了 QAQ~~ ### 输入格式 第一行两个正整数 $n$ 和 $q$($1 \leq n,q \leq 2\cdot 10^5$)表示节点个数和询问个数。 接下来 $n-1$ 行,每行四个正整数 $u,v,w,c$($1 \leq u,v,w,c \leq n$,$u \not = v$)表示一条树边 $(u,v)$,边权为 $w$,颜色为 $c$。保证输入形成一棵树。 接下来 $q$ 行,每行两个正整数 $p$ 和 $x$($p$ 非 $0$ 即 $1$,$1\le x\le n$)表示一个询问: 1. 若 $p = 0$,表示摧毁节点 $x$,保证此时 $x$ 没被摧毁; 2. 若 $p = 1$,表示修复节点 $x$,保证此时 $x$ 已被摧毁。 ### 输出格式 每个询问后,输出最长的好的路径的长度。若没有输出 $0$。

题目描述

An edge-weighted tree of $ n $ nodes is given with each edge colored in some color. Each node of this tree can be blocked or unblocked, all nodes are unblocked initially. A simple path is a path in a graph that does not have repeating nodes. The length of a path is defined as the sum of weights of all edges on the path. A path is good when it is a simple path consisting of edges of the same color $ c $ , all edges of color $ c $ are on this path, and every node on the path is unblocked. You need to operate $ 2 $ kinds of queries: 1. block a node, 2. unblock a node. After each query, print the maximum length among all good paths. If there are no good paths, print $ 0 $ .

输入输出格式

输入格式


The first line contains two integers $ n $ , $ q $ ( $ 1 \leq n,q \leq 2\cdot 10^5 $ ) — the number of nodes and the number of queries. Then $ n-1 $ lines follow, each containing four integers $ u $ , $ v $ , $ w $ and $ c $ ( $ 1 \leq u,v,w,c \leq n $ ; $ u \not = v $ ), denoting a weighted edge connecting node $ u $ and node $ v $ with weight $ w $ and color $ c $ . It is guaranteed that these edges form a tree. Then $ q $ lines follow, each containing two integers $ p $ and $ x $ ( $ p = 0 $ or $ p = 1 $ , $ 1\leq x\leq n $ ), denoting a query: 1. if $ p = 0 $ , block the node $ x $ . It's guaranteed that it's not blocked at this time; 2. if $ p = 1 $ , unblock the node $ x $ . It's guaranteed that it's blocked at this time.

输出格式


For each query, print the maximum length of a good path. If there are no good paths, print $ 0 $ .

输入输出样例

输入样例 #1

5 4
4 1 3 4
5 2 4 4
3 1 3 2
1 2 5 1
0 4
0 3
0 2
1 3

输出样例 #1

5
5
0
3

输入样例 #2

5 5
4 1 4 4
4 5 2 2
3 1 2 4
3 2 3 1
0 3
0 4
1 3
1 4
0 1

输出样例 #2

2
0
3
6
3

输入样例 #3

6 9
3 2 2 3
2 4 4 2
3 1 5 5
6 4 3 2
5 3 1 3
0 2
0 4
0 5
0 6
1 2
1 4
1 5
0 3
1 6

输出样例 #3

5
5
5
5
5
5
5
0
7

输入样例 #4

1 2
0 1
1 1

输出样例 #4

0
0

Input

题意翻译

### 题目描述 给定一棵有 $n$ 个节点的树,边有边权和颜色。每个点有被摧毁和不被摧毁两种状态,初始所有点都没被摧毁。 一条简单路径指图中没有重复节点的路径。简单路径的长度定义为路径上所有边的边权之和。 定义一条简单路径是好的,当且仅当路径仅有某一种颜色 $c$ 构成,且所有颜色为 $c$ 的边都在这条简单路径里,且路径上所有节点都没被摧毁。 你需要处理两种操作: 1. 摧毁一个节点; 2. 修复一个节点。 每个操作之后,你都需要输出最长的好的路径长度。若没有输出 $0$。 ~~写了 3 次样例解释全被删了 QAQ~~ ### 输入格式 第一行两个正整数 $n$ 和 $q$($1 \leq n,q \leq 2\cdot 10^5$)表示节点个数和询问个数。 接下来 $n-1$ 行,每行四个正整数 $u,v,w,c$($1 \leq u,v,w,c \leq n$,$u \not = v$)表示一条树边 $(u,v)$,边权为 $w$,颜色为 $c$。保证输入形成一棵树。 接下来 $q$ 行,每行两个正整数 $p$ 和 $x$($p$ 非 $0$ 即 $1$,$1\le x\le n$)表示一个询问: 1. 若 $p = 0$,表示摧毁节点 $x$,保证此时 $x$ 没被摧毁; 2. 若 $p = 1$,表示修复节点 $x$,保证此时 $x$ 已被摧毁。 ### 输出格式 每个询问后,输出最长的好的路径的长度。若没有输出 $0$。

Output

**题目大意:**

有一棵包含 $ n $ 个节点的树,每条边都有边权和颜色。每个节点可以处于被摧毁或未被摧毁的状态,所有节点初始时都是未被摧毁的。

简单路径是指没有重复节点的路径。路径的长度定义为路径上所有边的边权之和。

如果一条简单路径仅由一种颜色 $ c $ 的边组成,且所有颜色为 $ c $ 的边都在这条路径上,同时路径上的所有节点都未被摧毁,则称这条路径是好的。

需要处理两种操作:

1. 摧毁一个节点;
2. 修复一个节点。

每次操作后,输出最长的好的路径长度。如果没有好的路径,则输出 $ 0 $。

**输入输出数据格式:**

**输入格式:**

第一行包含两个正整数 $ n $ 和 $ q $($ 1 \leq n,q \leq 2\cdot 10^5 $),分别表示节点个数和询问个数。

接下来 $ n-1 $ 行,每行四个正整数 $ u,v,w,c $($ 1 \leq u,v,w,c \leq n $,$ u \neq v $),表示一条树边 $ (u,v) $,边权为 $ w $,颜色为 $ c $。保证这些边构成一棵树。

再接下来 $ q $ 行,每行两个正整数 $ p $ 和 $ x $($ p $ 为 $ 0 $ 或 $ 1 $,$ 1 \leq x \leq n $),表示一个询问:

1. 如果 $ p = 0 $,表示摧毁节点 $ x $。保证此时 $ x $ 没被摧毁;
2. 如果 $ p = 1 $,表示修复节点 $ x $。保证此时 $ x $ 已被摧毁。

**输出格式:**

对于每个询问,输出最长的好的路径的长度。如果没有好的路径,则输出 $ 0 $。**题目大意:** 有一棵包含 $ n $ 个节点的树,每条边都有边权和颜色。每个节点可以处于被摧毁或未被摧毁的状态,所有节点初始时都是未被摧毁的。 简单路径是指没有重复节点的路径。路径的长度定义为路径上所有边的边权之和。 如果一条简单路径仅由一种颜色 $ c $ 的边组成,且所有颜色为 $ c $ 的边都在这条路径上,同时路径上的所有节点都未被摧毁,则称这条路径是好的。 需要处理两种操作: 1. 摧毁一个节点; 2. 修复一个节点。 每次操作后,输出最长的好的路径长度。如果没有好的路径,则输出 $ 0 $。 **输入输出数据格式:** **输入格式:** 第一行包含两个正整数 $ n $ 和 $ q $($ 1 \leq n,q \leq 2\cdot 10^5 $),分别表示节点个数和询问个数。 接下来 $ n-1 $ 行,每行四个正整数 $ u,v,w,c $($ 1 \leq u,v,w,c \leq n $,$ u \neq v $),表示一条树边 $ (u,v) $,边权为 $ w $,颜色为 $ c $。保证这些边构成一棵树。 再接下来 $ q $ 行,每行两个正整数 $ p $ 和 $ x $($ p $ 为 $ 0 $ 或 $ 1 $,$ 1 \leq x \leq n $),表示一个询问: 1. 如果 $ p = 0 $,表示摧毁节点 $ x $。保证此时 $ x $ 没被摧毁; 2. 如果 $ p = 1 $,表示修复节点 $ x $。保证此时 $ x $ 已被摧毁。 **输出格式:** 对于每个询问,输出最长的好的路径的长度。如果没有好的路径,则输出 $ 0 $。

加入题单

上一题 下一题 算法标签: