【数据结构】[BZOJ4771] 七彩树【无实现】

Description

给出一棵n个点的树,每个点有颜色
多次询问以点x为根的子树中距离不超过d的点中不同颜色种类数

强制在线
n,m<=500000

Solution

先考虑如果没有d的限制怎么做

将相同颜色的点拉出来,在他们的位置+1,在他们的lca-1
直接在DFS序上查询即可

有了D的限制以后,我们将所有点按照深度从小到大一个个插入,用主席树维护,其中线段树维护的是DFS序,每次相当于激活一些点,查询直接主席树区间求和即可

时间复杂度 O(NlogN)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值