题目名称 | 2089. 平凡的测试数据 |
---|---|
输入输出 | td.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | Chenyao2333 于2015-11-03加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:84, 提交:184, 通过率:45.65% | ||||
sxysxy | 100 | 0.220 s | 3.97 MiB | C++ |
AAAAAAAAAA | 100 | 0.305 s | 2.63 MiB | C++ |
Hzoi_Mafia | 100 | 0.343 s | 2.25 MiB | C++ |
kemoto | 100 | 0.344 s | 16.91 MiB | C++ |
Hzoi_Hugh | 100 | 0.356 s | 2.58 MiB | C++ |
Cooook | 100 | 0.359 s | 2.60 MiB | C++ |
yizimi | 100 | 0.365 s | 6.04 MiB | C++ |
Hzoi_Hugh | 100 | 0.368 s | 2.06 MiB | C++ |
Hyoi_0Koto | 100 | 0.379 s | 1.55 MiB | C++ |
Hzoi_Ivan | 100 | 0.402 s | 2.25 MiB | C++ |
本题关联比赛 | |||
20170912 | |||
20211014 | |||
9.6 |
关于 平凡的测试数据 的近10条评论(全部评论) | ||||
---|---|---|---|---|
极其优美的带权并查集~
| ||||
纯暴力竟然得了40分
BaDBoY
2017-07-26 14:49
3楼
| ||||
让老夫卡一波常数到rank1。。。。
| ||||
原来是带权并查集。。。差点就写LCT了。
|
树链剖分可以干什么?
“可以支持在树中快速修改一个点信息,快速询问一条链信息”
LCT可以干什么?
“可以支持树链剖分支持的特性,并且支持快速链接两个棵树,或者断开某条边”
那我现在要出一道关于树的题目,一开始有n个点,每个点自成一颗树,所以现在有n棵树。每个点有一个权值。有以下这些操作类型:
连接操作:1 a b,连接a和b,使a成为b的儿子结点,a一定是某个树的根节点。这样就把两棵树连接到一起,此时a以及所有后代的根节点均为b所在树的根节点。
询问操作:2 a,询问a到树根路径上的所有点(包括自己和根)的权值异或和。
恩...但是由于我懒,所以还没有造数据,请你帮我写个标程让我用来造数据吧。
第一行两个整数n和m,表示有n个点和m个操作。
接下有一行n个整数,第i个整数表示第i个点的权值。
接下来m行,每行包含一个操作1 a b或者2 a,操作具体含义见题目描述。
对于每个询问操作,输出一行,表示从a到根路径上所有点的权值异或和。
5 8 1 2 3 4 5 2 2 1 2 1 2 2 1 4 3 1 3 2 2 3 1 5 1 2 5
2 3 0 4
样例中每个节点权值与标号相同;
第一个询问中2的根节点是自己,所以第一个询问2节点的答案为2;
第二个询问中2的根节点是1,路径为2-1,所以答案为2 xor 1 = 3;
第三个询问中3到根节点的路径为3-2-1,所以答案为3 xor 2 xor 1 = 0;
第四个询问中5到根节点的路径为5-1,所以答案为5 xor 1 = 4;
对于40%的数据1 <= n,m <= 1000;
对于90%的数据1 <= n <= 100000, 1 <= m <= 200000;
对于100%的数据1 <= n <= 300000, 1 <= m <= 500000;
所有节点的权值均为正整数且在int范围内。