qbxt 突破营 Day7 T2

小葱将买来的糖放进了冰箱冷藏,但是小葱想吃糖了,小葱希望把自己想吃的糖从冰箱里面拿出来。具体来说,小葱同学的冰箱是一棵N个点的树,每个点有一颗糖,第i个点的糖的美味值是ai。小葱每次取糖会从根节点出发,指定一个目标节点p,走到p点并且把这条路径上的所有糖取走。但小葱不满足只走到p,所以接下来小葱会继续从p出发去取其他的糖。但是由于小葱的冰箱的特殊构造,一条边一旦被走过一次就不能再走了,所以小葱要仔细计划如何行动。因此,小葱会有M次询问,每次询问给定根节点q和目标节点p,小葱想知道在这种情况下他能取走的糖果的美味值之和是多少。

对于100%的数据,1N,M105,1ai104,1q,pN

世界上没有码量题,只是我自己写不出来的问题

dp 记录转移前驱并不羞耻,没必要想方设法通过值判断是否为前驱

既然开了 105不要考虑常数,判断一个点是否为另一个点的孙子直接 LCA 暴力判常数也能很优秀

倍增跳跃求和还有一种朴素方法为树上前缀和,常数非常优秀(感谢女队教我的)

既然分类讨论不行就不要分类讨论,尽量寻找普遍情况,dp 式子要适应普遍情况而不是调半天调不出来

数组能开两倍就开两倍!!!数组能开两倍就开两倍!!!数组能开两倍就开两倍!!!

多练

posted @   FOX_konata  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示