题目名称 1832. 苹果树
输入输出 apple.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2025-05-21加入
开放分组 全部用户
提交状态
分类标签
DFS序 树状数组
分享题解
通过:1, 提交:1, 通过率:100%
Gravatarsyzhaoss 100 0.512 s 6.13 MiB C++
关于 苹果树 的近10条评论(全部评论)

1832. 苹果树

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

【题目描述】

卡卡的房子外面有一颗苹果树,树上有$n$个叉(编号为$1\sim n$),它们通过分支连接。苹果在叉上生长,两个苹果不会在同一叉上生长。一个新的苹果可能会在一个空叉上长出来,卡卡还可能会从树上摘一个苹果作为它的甜点。

【输入格式】

第一行一个正整数 $n(n\leq 10^5)$,表示树中叉的数量。

接下来$n-1$行,每行两个整数$x,y$,表示叉$x$和叉$y$通过分支连接。

接下一行一个整数$m(m\leq 10^5)$,表示苹果的变化和查询。

接下来$m$行,有如下两种情况:

C x表示改变$x$叉上的苹果状态。若叉上有苹果,则卡卡会选择摘掉它,否则一个新的苹果在这个叉长大。

Q x表示查询$x$叉上方子树中的苹果数量,包括$x$叉上的苹果。

注意:开始时树上长满了苹果。

【输出格式】

对于每个查询操作,输出一行一个整数表示查询结果。

【样例输入】

3
1 2
1 3
3
Q 1
C 2
Q 1

【样例输出】

3
2