BZOJ P1103[POI2007]大都市meg

本文介绍了一种使用dfs序结合树状数组解决树形结构中边权修改及距离查询问题的方法。通过将复杂问题简化,并利用dfs序的特性,实现了高效的求解策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始想的是树链剖分+线段树

这个显然可以,但是我(懒)太弱了

于是乎百度了一下

发现可以用dfs序+树状数组shi过去

先把题目简化,这题目我看了半天才看懂,题目意思就是修改边权还有询问到根节点的距离

然后dfs序有一个非常优美的性质,就是某一个点的祖先,他的入栈序比当前点的小,出栈序反之

意*(怕被再次封博)一下,很容易想的

然后如果不是某一个点的祖先那么要么入栈序比当前点大,要么出栈序比当前点小

然后,每次减去某个点1就只用在入栈序的地方的前缀和-1,出栈序的位置+1的地方+1就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值