P3605 [USACO17JAN] Promotion Counting P

题目描述

奶牛们又一次试图创建一家创业公司,还是没有从过去的经验中吸取教训——牛是可怕的管理者!

为了方便,把奶牛从 1∼n 编号,把公司组织成一棵树,1 号奶牛作为总裁(这棵树的根节点)。除了总裁以外的每头奶牛都有一个单独的上司(它在树上的 “双亲结点”)。

所有的第 i 头牛都有一个不同的能力指数 pi​,描述了她对其工作的擅长程度。如果奶牛 i 是奶牛 j 的祖先节点,那么我们我们把奶牛 j 叫做 i 的下属。

不幸地是,奶牛们发现经常发生一个上司比她的一些下属能力低的情况,在这种情况下,上司应当考虑晋升她的一些下属。你的任务是帮助奶牛弄清楚这是什么时候发生的。简而言之,对于公司的中的每一头奶牛 i,请计算其下属 j 的数量满足 pj​>pi​。

输入格式

输入的第一行包括一个整数 n。

接下来的 n 行包括奶牛们的能力指数 p1​,p2​…pn​。保证所有数互不相同。

接下来的 n−1 行描述了奶牛 2∼n 的上司的编号。再次提醒,1 号奶牛作为总裁,没有上司。

输出格式

输出包括 n 行。输出的第 i 行应当给出有多少奶牛 i 的下属比奶牛 i 能力高。

输入输出样例

输入 #1复制

5
804289384
846930887
681692778
714636916
957747794
1
1
2
3

输出 #1复制

2
0
1
0
0

此题算法:树状数组+dfs

这仔细一想是道比较纯的树状数组题

我这里有最容易理解的算法

首先将拿到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值