题目名称 | 2608. [河南省队2016]无根树 |
---|---|
输入输出 | nortree.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 11 |
题目来源 | FoolMike 于2017-02-05加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:7, 提交:20, 通过率:35% | ||||
AntiLeaf | 100 | 0.832 s | 19.38 MiB | C++ |
_Itachi | 100 | 0.945 s | 10.23 MiB | C++ |
Connected | 100 | 1.161 s | 15.19 MiB | C++ |
苦读依旧 | 100 | 1.161 s | 29.57 MiB | C++ |
AntiLeaf | 100 | 1.182 s | 15.19 MiB | C++ |
SD_le | 100 | 1.873 s | 12.90 MiB | C++ |
FoolMike | 100 | 3.975 s | 65.16 MiB | C++ |
_Itachi | 90 | 0.971 s | 10.23 MiB | C++ |
_Itachi | 90 | 0.986 s | 20.15 MiB | C++ |
AntiLeaf | 90 | 1.198 s | 10.99 MiB | C++ |
关于 无根树 的近10条评论(全部评论) | ||||
---|---|---|---|---|
回复 @苦读依旧 :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%大佬
lalalala
2017-07-22 09:06
9楼
| ||||
难道现在cogs不是linux了?为什么一些10W,20W的题就会爆栈?
_Itachi
2017-06-03 16:54
8楼
| ||||
Mike的数据是纯随机的吧,极限情况线段树数组开小了应该RE的。
造了一组链的数据加上去卡自己,结果还把线段树开得足够的那份代码hack爆栈了…… UPD:在本地测了测,线段树开小了并不会RE,很好奇为什么…… UPD:好吧,这不是堆式线段树,节点数并不会超过n的两倍,是我没文化…… | ||||
回复 @FoolMike :
我用了一上午三倍的代码量请教了无数人
苦读依旧
2017-02-22 11:53
6楼
| ||||
| ||||
回复 @FoolMike :
恩 好吧
苦读依旧
2017-02-22 05:53
4楼
| ||||
回复 @苦读依旧 :
实际上数据确实错了! | ||||
回复 @FoolMike :
不好意思,我只是不会写这道题想要学习一下并没有认为数据错了
苦读依旧
2017-02-21 20:59
2楼
| ||||
数据已修正!标程写错了- -
话说这题当场我切掉了来着,不过那里评测机太慢,给我卡掉了两个点,感觉很不爽,现在只能低空飞过,最慢的点0.9s+ 欢迎诸位把我刷掉! |
【题目描述】
给定一棵无根树,第i个节点的权值为v_i,要求支持两个操作:
*将节点x的权值v_x修改为y
*选择一个连通块(0个节点也可以),使得这个连通块包含的点点权和最大
【输入格式】
第一行两个整数n,m。
第二行n个整数,第i个整数表示节点i的初始权值v_i。
接下来n-1行,每行两个整数x_i,y_i,描述树的一条边(x_i,y_i)。
接下来m行,每行描述一个操作:
*如果格式为1 x y,则表示将节点x的权值v_x修改为y
*如果格式为2,则表示一个询问操作,求出点权和最大的连通块的点权和
【输出格式】
对于每个询问操作,输出得到的点权和。
【样例输入】
5 7
2 -1 -3 1 1
1 2
1 3
3 4
3 5
2
1 3 0
2
1 2 1
2 1 1 -3
2
【样例输出】
2
4
5
2
【提示】
对于30%的数据,1 <= n,m <= 10^3。
对于另外20%的数据,1 <= n,m <= 10^5,树形态为一条链。
对于100%的数据,1 <= n,m <= 10^5,|v_i| <= 1000。
【来源】
2016河南省队集训,数据是Mike造的,如果数据有误请联系Mike,谁有官测直接刷掉就好。