A8597 | Blood Cousins
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Polycarpus got hold of a family relationship tree. The tree describes family relationships of $n$ people, numbered 1 through $n$ . Each person in the tree has no more than one parent.
Let's call person $a$ a 1-ancestor of person $b$ , if $a$ is the parent of $b$ .
Let's call person $a$ a $k$ -ancestor $(k>1)$ of person $b$ , if person $b$ has a 1-ancestor, and $a$ is a $(k-1)$ -ancestor of $b$ 's 1-ancestor.
Family relationships don't form cycles in the found tree. In other words, there is no person who is his own ancestor, directly or indirectly (that is, who is an $x$ -ancestor for himself, for some $x$ , $x>0$ ).
Let's call two people $x$ and $y$ $(x≠y)$ $p$ -th cousins $(p>0)$ , if there is person $z$ , who is a $p$ -ancestor of $x$ and a $p$ -ancestor of $y$ .
Polycarpus wonders how many counsins and what kinds of them everybody has. He took a piece of paper and wrote $m$ pairs of integers $v_{i}$ , $p_{i}$ . Help him to calculate the number of $p_{i}$ -th cousins that person $v_{i}$ has, for each pair $v_{i}$ , $p_{i}$ .
Let's call person $a$ a 1-ancestor of person $b$ , if $a$ is the parent of $b$ .
Let's call person $a$ a $k$ -ancestor $(k>1)$ of person $b$ , if person $b$ has a 1-ancestor, and $a$ is a $(k-1)$ -ancestor of $b$ 's 1-ancestor.
Family relationships don't form cycles in the found tree. In other words, there is no person who is his own ancestor, directly or indirectly (that is, who is an $x$ -ancestor for himself, for some $x$ , $x>0$ ).
Let's call two people $x$ and $y$ $(x≠y)$ $p$ -th cousins $(p>0)$ , if there is person $z$ , who is a $p$ -ancestor of $x$ and a $p$ -ancestor of $y$ .
Polycarpus wonders how many counsins and what kinds of them everybody has. He took a piece of paper and wrote $m$ pairs of integers $v_{i}$ , $p_{i}$ . Help him to calculate the number of $p_{i}$ -th cousins that person $v_{i}$ has, for each pair $v_{i}$ , $p_{i}$ .
输入格式
The first input line contains a single integer $n$ $(1<=n<=10^{5})$ — the number of people in the tree. The next line contains $n$ space-separated integers $r_{1},r_{2},...,r_{n}$ , where $r_{i}$ $(1<=r_{i}<=n)$ is the number of person $i$ 's parent or 0, if person $i$ has no parent. It is guaranteed that family relationships don't form cycles.
The third line contains a single number $m$ $(1<=m<=10^{5})$ — the number of family relationship queries Polycarus has. Next $m$ lines contain pairs of space-separated integers. The $i$ -th line contains numbers $v_{i}$ , $p_{i}$ $(1<=v_{i},p_{i}<=n)$ .
The third line contains a single number $m$ $(1<=m<=10^{5})$ — the number of family relationship queries Polycarus has. Next $m$ lines contain pairs of space-separated integers. The $i$ -th line contains numbers $v_{i}$ , $p_{i}$ $(1<=v_{i},p_{i}<=n)$ .
输出格式
Print $m$ space-separated integers — the answers to Polycarpus' queries. Print the answers to the queries in the order, in which the queries occur in the input.
输入输出样例
输入 #1
6 0 1 1 0 4 4 7 1 1 1 2 2 1 2 2 4 1 5 1 6 1
输出 #1
0 0 1 0 0 1 1
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted