题目名称 | 2243. Toptree |
---|---|
输入输出 | toptree.in/out |
难度等级 | ★★★★ |
时间限制 | 2000 ms (2 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | mouse 于2016-04-18加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:5, 提交:10, 通过率:50% | ||||
AntiLeaf | 100 | 1.250 s | 6.79 MiB | C++ |
AntiLeaf | 100 | 1.262 s | 6.79 MiB | C++ |
FoolMike | 100 | 1.857 s | 6.60 MiB | C++ |
stdafx.h | 100 | 2.270 s | 15.93 MiB | C++ |
再见 | 100 | 5.449 s | 9.46 MiB | C++ |
AntiLeaf | 0 | 1.198 s | 6.79 MiB | C++ |
AntiLeaf | 0 | 1.230 s | 6.79 MiB | C++ |
AntiLeaf | 0 | 1.274 s | 6.79 MiB | C++ |
AntiLeaf | 0 | 1.326 s | 6.79 MiB | C++ |
AntiLeaf | 0 | 1.765 s | 6.41 MiB | C++ |
本题关联比赛 | |||
20160418x |
关于 Toptree 的近10条评论(全部评论) | ||||
---|---|---|---|---|
数据没错,算我验过数据了。样例好评。
我是暴力LCT+堆搞的,复杂度O(nlog^2n),同情出题人不好造数据卡 | ||||
太神啦%%%
AntiLeaf
2016-08-28 21:07
2楼
| ||||
lct+ett
613
2016-04-18 21:35
1楼
|
你被派去完成一个任务,这个任务是必须A掉一个题,题目是这样的:你需要维护一个点带权的森林,支持加边、删边的操作,并且回答一些询问。
一开始,这个图是一张空图,没有边。
从现在开始,用节点u表示标号为u的节点。
操作共分为以下几种类型:
1 u v
表示在节点u与节点v之间连上一条无向边。
2 u v
表示删除节点u与节点v之间的无向边。
3 u x
将节点u的权值改为x.
4 u v
表示询问节点u与节点v之间的路径上的权值最小值.
5 w u v
表示询问以节点w为根时,节点u与节点v的最近公共祖先节点的标号。
6 w u
表示询问以节点w为根时,以节点u为根的子树的节点数。
7 w u
表示询问以节点w为根时,以节点u为根的子树权值最小值。
第一行两个整数n,m,表示树上的总结点数,以及总的操作次数;
接下来一行n个整数,第i个整数为xi,表示节点i初始的权值;
接下来m行,依次表示m次操作。
对于每一个操作类型为5,6,7的操作,输出一行一个整数,表示这次询问的答案。
10 30
453693185 97417345 542909441 272416065 660418023 969737409 73086977 60587265 168796673 359459841
1 1 2
1 9 10
1 5 4
2 5 4
1 3 9
5 9 9 10
6 7 7
6 7 7
3 1 147640321
6 3 9
1 5 8
1 3 5
6 7 7
6 9 10
1 5 2
1 9 7
7 1 1
6 9 1
3 9 125258561
7 7 1
4 5 1
4 1 1
2 3 5
7 3 3
4 3 3
3 7 487083009
7 1 1
5 3 3 3
1 3 4
7 7 7
9
1
1
2
1
1
60587265
1
147640321
97417345
147640321
73086977
542909441
60587265
3
125258561
对于测试点1,2,3,4,5,6,保证n,m≤1000; 对于测试点7,8,9,10,11,12,保证只有操作1,2,3,4,5; 对于测试点13,14,15,16,保证没有操作7; 对于全部数据,1≤n,m≤100,000,保证所有操作均合法,且所有出现过的权值x均互不相同,且1≤x≤10^9。
在此键入。