HDU 5909 Tree Cutting 树形DP+快速沃尔什变换

博客详细介绍了如何利用树形动态规划(Tree DP)和快速沃尔什变换(FWT)解决HDU 5909题目,即在给定树结构和点权的情况下,高效计算异或和为特定值的连通诱导子图数量。文章通过定义FWT操作并证明其性质,展示了如何在O(n log n)时间内进行变换和逆变换,以及在O(m log m + nm)时间内完成计算。
摘要由CSDN通过智能技术生成

题目大意:给出一棵树,每个点有一个点权,求对于每个 i[0,m) 输出有多少个连通诱导子图的异或和为 i
n1000 m<210

别问我为什么隔了这么久突然跑回来更blog……我只是在填以前剩下的坑而已。。。
(我花了一整个高三去打游戏,然后花了一整个大一补高三的内容,到了大二,我退学了2333)

FWT

定义:
对于一个长为 n=2k 的数组 A ,定义 A0 为这个数组的前 2k1 项, A1 为这个数组的后 2k1 项, A=(A0,A1)
A±B={ A[0]±B[0],A[1]±B[1],...,A[n1]±B[n1]}
AB={ A[0]B[0],A[1]B[1],...,A[n1]B[n1]}
AB={ ij=0A[i]B[j],...,ij=n1A[i]B[j]}
=(A0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值