CF1787G.Colorful Tree Again
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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:
- block a node,
- 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≤n,q≤2⋅105 ) — the number of nodes and the number of queries.
Then n−1 lines follow, each containing four integers u , v , w and c ( 1≤u,v,w,c≤n ; u=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≤x≤n ), denoting a query:
- if p=0 , block the node x . It's guaranteed that it's not blocked at this time;
- 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