最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 统计子树的节点个数

    正文概述 陈老师   2026-01-20 15:31:33  

    题目描述

    给定一棵树 ,树中包含 nn 个结点(编号11~nn)和 n1n-1 条有向边,共有 mm 次询问,对于每次询问,给定一个整数 xx求出以编号 xx 的点作为根节点的子树上共有多少个结点?

    根节点不一定为 11 号点。

    输入格式

    第一行包含整数 nnmm

    接下来 n1n-1 行,每行包含两个整数 a,ba,b,表示点 aabb 之间存在一条有向边

    接下来 mm 行,每行包含一个整数 xx表示询问以编号 xx 的点作为根节点的子树的结点数量

    输出格式

    一共输出 mm 行,表示对于 mm 次询问,每次回答出当前的子树节点个数

    样例

    5 3
    3 2
    1 4
    1 5
    1 3
    3
    5
    1
    
    2
    1
    5
    

    数据范围

    占比 数据范围
    25%25\% 1n401m201 \le n \le 40,1 \le m \le 20
    75%75\% 1n1041mn1 \le n \le 10^4,1 \le m \le n

    提示

    样例1解释

    样例1 的树的形状如下图: image

    对于 33 次问问:

    • 分别是以 33 为根节点的子树的节点个数

      image

      该子树共 22 个结点,答案为22

    • 55 为根节点的子树的节点个数

      image

      该子树共 11 个结点,答案为11

    • 11 为根节点的子树的节点个数

      image

      该子树共 55 个结点,答案为55

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 统计子树的节点个数