T2
本来想在 $T2$ 搞一道动态规划题,但现在好像不是了……出成了一道毒瘤结论题。
题目背景和板子啥的来源于我以前在luogu存的一道自创题。
100pts
这个点甚至卡 $O(n*log(n^2))$,而二分肯定是不能去掉的,所以我们考虑去掉链上对区间答案的维护的那一维 $log$。
我们重新分开考虑两个点的大小关系,以防混淆。
当祖先 $\lt M$,子孙 $\gt M$ 时,
我们发现,一次移动只有两个点的归属发生变化,橙点被加入可利用区域,红点被加入已分完区域。
所以 $place$(橙点)的变化量为 $val_{orange}-val_{red}$。
关键就在这个变化量,怎么存这玩意?它跟红橙两点都有关系。
其实两点的距离 $x$ 是确定的,所以只要知道祖先(橙点)的位置,子孙(红点)的值就可以唯一对应地存。
当然我用了一种比较鬼畜的方法:再维护一个 $sum$,表示以子孙(红点)为根的子树中所有数的总和是多少。
原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/set1.html
时间: 2024-09-29 23:16:18