一种利用重链剖分优化一类树形动态规划空间复杂度的方法

Origin

在某一场GDOI模拟赛上,一道好好的点分治题目,本蒟蒻强行大力优化暴力碾了过去。这题中我算法的瓶颈不在时间复杂度,而在于空间复杂度。为了解决这个问题,我想到了一种使用重链剖分来优化空间复杂度的方法。


Problem

首先我们要明确一下这种方法的适用范围:
一个点对该点父亲的贡献,可以直接利用该点已知的信息以及该点父亲已有的信息计算得,不需要依赖该点的兄弟或者其它点的信息。
比如我们现在要讨论的这一道题目:
给定一棵 n 个节点的树,每个节点有一个颜色(颜色编号是在 [1,k] 内的整数,在这题里面 k10 ),你需要统计包含所有颜色的树路径数目。
这个显然如果我们处理出每个点为顶点然后颜色集合二进制状态为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值