luogu#P11161. 【MX-X6-T7】夏が終わる

【MX-X6-T7】夏が終わる

题目背景

夏の終わりを知って\\ ラムネの雫に映る僕達は\\ 見失いそうな\\ 茜色の頬を追いかけて\\ 来年もまた此処に来るんだ

—— 夏が終わる - Nanatsukaze

一年时间,走一个环,再次回到原点。

在这个世界不间断的变化中,还有机会再遇到你吗?选择一条最优的路径时,又有多大的机会呢?

题目描述

给定一棵 nn 个点的树 TT,边带权。定义无向完全图 G(T)G(T)

  • 包含 nn 个点。
  • 如果 TT 中包含边 u,vu,v,则 GGu,vu,v 边的权值为这条边的权值;否则为 00

w(T)w(T)G(T)G(T) 的权值最小的哈密顿回路的权值。

给定 qq 次修改操作,分为两种:

  • TT 上删去一条边再加上一条边,保证每次操作后仍然是一棵树
  • 给定 TT 上的一条路径,给路径上的每一条边的边权增加一个值。

你需要在每次操作之后计算 w(T)w(T)

输入格式

第一行两个正整数 n,qn,q

接下来 n1n-1 行每行三个正整数 u,v,wu,v,w 表示树上的一条边,边按照输入顺序编号为 1n11\sim n-1

接下来 qq 行每行 4455 个整数,第一个整数表示操作编号 optopt

  • 如果 opt=1opt=1,则表示删边再加边操作,接下来 44 个整数依次为 i,u,v,wi,u,v,wii 表示这一次操作删去的边的编号;u,v,wu,v,w 表示新加的边。这些新增的边按照操作顺序从 nn 开始依次向上编号。
  • 如果 opt=2opt=2,则表示路径加操作,接下来 33 个整数 u,v,wu,v,w:表示给树上 u,vu,v 之间的简单路径上的每一条边的边权增加 ww

输出格式

qq 行每行一个整数表示操作后的 w(T)w(T)

5 3
1 2 1
2 3 1
3 4 1
4 5 1
1 4 3 5 1
2 1 5 1
1 1 1 3 100
1
1
3
6 12
3 5 18
3 1 8
5 6 3
6 4 10
6 2 8
1 4 3 4 10
1 5 6 2 5
2 2 5 1
1 7 3 2 19
2 4 6 1
1 3 5 6 20
2 3 4 1
1 9 5 6 16
2 3 1 32
2 3 4 30
2 3 5 22
2 3 2 21
0
0
0
8
8
8
8
8
12
19
19
40

提示

【样例解释 #1】

第一次操作后,G(T)G(T) 的形态如下:

其中树边用红色标出,最优的哈密顿回路之一为 1542311-5-4-2-3-1

【数据范围】

对于所有数据,保证 5n1.5×1055\leq n\leq 1.5\times 10^51q3×1051\leq q\leq 3\times 10^51u,vn1\leq u,v\leq n1w2×10111\leq w\leq 2\times 10^{11},保证任意时刻边权不超过 4×10114\times 10^{11},保证不会重复删除已经删除的边。

捆绑测试,共 5 个 Subtask,具体限制如下所示:

  • Subtask 1(6 pts):n10n\leq 10q500q\leq 500
  • Subtask 2(27 pts):n,q2000n,q\leq 2000
  • Subtask 3(15 pts):所有答案均 1\geq 1
  • Subtask 4(26 pts):n7.5×104n\leq 7.5\times 10^4q1.5×105q\leq 1.5\times 10^5
  • Subtask 5(26 pts):无特殊限制。