题目名称 2325. [HNSDFZ]ZY的钻石树
输入输出 zytree.in/out
难度等级
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarLink 于2016-06-06加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:4, 提交:10, 通过率:40%
Gravatar 100 3.742 s 38.07 MiB C++
GravatarLink 100 4.881 s 25.20 MiB C++
GravatarLink 100 4.946 s 25.20 MiB C++
GravatarLink 100 9.270 s 15.12 MiB C++
GravatarLink 80 6.827 s 25.20 MiB C++
GravatarLink 70 8.077 s 20.16 MiB C++
Gravatarszzy 0 0.873 s 4.88 MiB C++
Gravatarszzy 0 1.024 s 9.46 MiB C++
GravatarLCWhiStLe 0 6.471 s 17.41 MiB C++
GravatarLCWhiStLe 0 17.674 s 20.32 MiB C++
关于 ZY的钻石树 的近10条评论(全部评论)
样例输出还有一个10在最后面
GravatarLink
2017-09-08 23:01 2楼
数据我自己也不晓得哪里去了,毕竟退役狗....
数据范围的话应该30W以内吧,我的数组开的是30W...我估计有20W。
GravatarLink
2017-09-08 23:01 1楼

2325. [HNSDFZ]ZY的钻石树

★   输入文件:zytree.in   输出文件:zytree.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】


ZY是一个很神的孩子,对于他来说一切都是O(1)的。

ZY也是一个很喜欢玩MC的孩子。

这天,ZY登陆了他的MC,他发现他家不知道被哪个熊孩子糟蹋了。

他的家变成了一颗有N个节点的树,每个树都有一种钻石块(种类是1-1000000的整数表示)。

奇怪的是,同种的钻石块ZY只能拿一个。

更加奇怪的是,不同时刻某些钻石块还会改变自己的种类。

ZY因此想知道,以某个节点为根的子树中有多少个不同的钻石块

1号节点为树的根

两种操作:

1 x 询问x节点为根的子树有多少个

0 x val 修改x节点的钻石块种类为val


【输入格式】


第一行N,代表树的节点数

第二行N个数,代表每个节点的钻石块种类

然后N-1行代表哪两个点连接

一行M代表操作数

之后M行代表操作


【输出格式】

对于每个询问输出其答案

【样例输入】

10

451871 357467 223159 836672 806920 748308 71528 836567 538701 347170

9 1

2 4

9 6

9 5

2 9

3 5

7 2

8 10

10 9

10

1 9

0 8 442245

1 2

0 6 515149

0 4 722943

0 9 147796

1 8

1 2

0 2 484100

1 1

1 7

【样例输出】

9

3

1

3

【提示】

在此键入。

【来源】

在此键入。