题目名称 1583. [POJ 3237] 树的维护
输入输出 maintaintree.in/out
难度等级 ★★★★
时间限制 5000 ms (5 s)
内存限制 128 MiB
测试数据 20
题目来源 Gravatarcstdio 于2014-04-11加入
开放分组 全部用户
提交状态
分类标签
树链剖分 动态树 LCA POJ 线段树
分享题解
通过:233, 提交:734, 通过率:31.74%
GravatarJSX 100 0.561 s 1.01 MiB C++
Gravatarztx 100 0.593 s 0.87 MiB C++
GravatarHzoi_Hugh 100 0.625 s 2.08 MiB C++
GravatarQwQ 100 0.634 s 2.45 MiB C++
GravatarHzoi_Hugh 100 0.642 s 2.08 MiB C++
GravatarJSX 100 0.659 s 54.65 MiB C++
GravatarTA 100 0.675 s 1.32 MiB C++
GravatarHzoi_Hugh 100 0.680 s 19.74 MiB C++
GravatarFoenix 100 0.681 s 1.00 MiB C++
GravatarJSX 100 0.682 s 54.65 MiB C++
关于 树的维护 的近10条评论(全部评论)
边权对应点权调了好久,一定都不水┭┮﹏┭┮
Gravatar┭┮﹏┭┮
2023-12-06 21:50 39楼
明明早就用树剖水过了,还要用$lct$再打一遍。。真难调。
GravatarHallmeow
2018-01-02 18:52 38楼
Gravatar하루Kiev
2017-10-21 10:43 37楼
模板写那么久...
我太垃圾了
GravatarCSU_Turkey
2017-10-21 10:35 36楼
耶树剖第二题
GravatarShirry
2017-10-11 21:10 35楼
回复 @Hzoi_DK :
关我什么事啊……我就看了一眼而已……
GravatarHZOI_蒟蒻一只
2017-08-14 08:38 34楼
回复 @Hzoi_DK :
突然问了我两个月前的链剖QAQ,,,, 我也很无奈...
GravatarCooook
2017-08-14 08:34 33楼
回复 @Cooook @HZOI_蒟蒻一只 :
NEGATE 的延迟标记 = =
表示心累 = =
%%% 感谢神犇 提醒
Gravatar~玖湫~
2017-08-14 08:25 32楼
GravatarCooook
2017-06-13 06:19 31楼
我真傻,真的。
我单知道Negative要转化,我不知道我转化了两次……
就因为这一堆负号,调了六个小时……
身败名裂……
问题又来了,怎么还能对三个点……
GravatarHZOI_蒟蒻一只
2017-04-30 21:20 30楼

1583. [POJ 3237] 树的维护

★★★★   输入文件:maintaintree.in   输出文件:maintaintree.out   简单对比
时间限制:5 s   内存限制:128 MiB

【题目描述】

给你由N个结点组成的树。树的节点被编号为1到N,边被编号为1到N-1。每一条边有一个权值。然后你要在树上执行一系列指令。指令可以是如下三种之一:

CHANGE i v:将第i条边的权值改成v。

NEGATE a b:将点a到点b路径上所有边的权值变成其相反数。

QUERY a b:找出点a到点b路径上各边的最大权值。

【输入格式】

输入文件的第一行有一个整数N(N<=10000)。

接下来N-1行每行有三个整数a,b,c,代表点a和点b之间有一条权值为c的边。这些边按照其编号从小到大给出。

接下来是若干条指令(不超过10^5条),都按照上面所说的格式。

输入文件的最后一行是"DONE".

【输出格式】

对每个“QUERY”指令,输出一行,即路径上各边的最大权值。

【样例输入】

3

1 2 1

2 3 2

QUERY 1 2

CHANGE 1 3

QUERY 1 2

DONE

【样例输出】

1

3

【提示】

这里的输入输出格式和POJ上原题略有不同。

【来源】

POJ 3237 Tree