题目名称 2604. 黑白树的操作
输入输出 MD5.in/out
难度等级 ★★★★☆
时间限制 5000 ms (5 s)
内存限制 512 MiB
测试数据 20
题目来源 GravatarFoolMike 于2017-08-26加入
开放分组 全部用户
提交状态
分类标签
树分治 平衡树
分享题解
通过:3, 提交:7, 通过率:42.86%
Gravatar史莱克音洛 100 8.129 s 96.63 MiB C++
GravatarFoolMike 100 11.472 s 96.63 MiB C++
GravatarAntiLeaf 100 25.775 s 198.12 MiB C++
GravatarAntiLeaf 65 43.297 s 2.69 MiB C++
GravatarAntiLeaf 60 15.197 s 119.91 MiB C++
GravatarGo灬Fire 45 37.655 s 10.04 MiB C++
GravatarFoolMike 0 0.068 s 96.64 MiB C++
本题关联比赛
寒假颓废练习
关于 黑白树的操作 的近10条评论(全部评论)
唔窝什么时候变成黑心出题人了……
题面是我删的,因为当时想放到别的题库上去骗点钱(划掉
不过后来没时间搞了,还是就这样放在COGS好了
题面的话等我过几天放假的时候补上吧(学校机房没存题面
GravatarAntiLeaf
2017-08-29 11:46 9楼
回复 @AntiLeaf :
那我把题目描述改了吧……
GravatarFoolMike
2017-01-26 10:27 8楼
回复 @Mike is Fool :
问题是我改不了题,驴蛋蛋才能改
GravatarAntiLeaf
2017-01-26 10:20 7楼
回复 @AntiLeaf :
出题人怎么可以这样呢!?如果贵省省选出了这种错,您还能放任不管吗!
GravatarFoolMike
2017-01-26 10:18 6楼
回复 @Mike is Fool :
我后来改数据了......替我传题的@驴蛋蛋 和我都懒得改文件名了 于是数据就这么错着了......
GravatarAntiLeaf
2017-01-26 10:16 5楼
回复 @AntiLeaf :
那你坑人啊!?差评++
GravatarFoolMike
2017-01-26 10:09 4楼
回复 @Mike is Fool :
数据里没有......
GravatarAntiLeaf
2017-01-26 10:07 3楼
回复 @AntiLeaf :
第一行的整数在哪里呢!?
GravatarFoolMike
2017-01-26 10:06 2楼
数据里没有测试点编号
理论上明明不会炸int的,然而不写#define int long long就会花式炸int
GravatarAntiLeaf
2017-01-26 09:17 1楼

2604. 黑白树的操作

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


【题目描述】

不要紧张。题目的名字只是一个MD5

A有一堆小圆点。某天,他无聊了,于是他想把这些点连成一棵无根树。

A觉得他不能放过这个防AK的好机会,于是他想借此考考你。

一开始,小An个点,这n个点分别编号为1~n。每个点都有颜色,任何时刻,点的颜色都只能是黑白两种颜色之一。初始时,所有点都是白色的。

A一共会进行m次操作,每次操作只可能是以下的三种之一:

A u v w:添加一条连接(u,v)的无向边,长度为w

C u:反转点u的颜色,即如果点u原来是白色则反转后会变成黑色,反之亦然。

Q u:询问所有与点u连通的黑点到点u的距离之和。定义连通的两点间的距离为两点间简单路径上的边长度之和。

因为小A觉得这个问题太简单了,所以他决定强制在线。

【输入格式】

第一行一个整数T,表示测试点编号。

第二行两个整数n,m,分别表示点的个数和操作数。

以下m行,每行描述一个操作,格式如上所述。

为了防止你采用各种离线算法水掉本题,本题强制在线,每次输入的整数均需异或(上一次询问的答案mod n)。如果还没有进行询问,那么上一次询问的答案是0

注意,mod n是在n的剩余系下,比如-1 mod 5 = 4.

【样例输入】

3 7

A 1 2 3

C 1

Q 2

Q 3

A 2 3 1

C 2

Q 3

【样例输出】

3

0

5

【样例解释】

样例输入解密后为

3 7

A 1 2 3

C 1

Q 2

Q 3

A 2 3 1

C 2

Q 3

【数据范围与约定】

本题共有20个测试点,每个测试点的数据范围和特殊性质如下:

测试点编号

n

m

特殊性质

1

=10

=30

2

<=100

<=200

3

<=500

4

5

<=500

<=1000

6

7

<=2000

<=5000

所有A操作在其他操作之前

8

9

<=50000

<=200000

具有以下两个测试点的特殊性质

10

所有A操作在其他操作之前

11

树的形态随机

12

每个点的度不超过2

13

<=100000

<=300000

14

15

16

17

18

19

20

1~20

保证所有边的长度绝对值<=10000

你可以假定给出的所有操作均合法,即进行A操作后一定不会产生环,给出的点的编号都在1~n之内。但请注意,数据不保证最后得到的一定是一棵树(也即所有点可能不连通)