题目
可以看LG的题解
还可以看zzt的论文(但是他好像也没说什么)
其实还是和之前一样,树上二分出当前最优的斜率,然后就按照这个斜率走到不能走,
然后继续二分,用单调栈符合了反比例函数拟合曲线斜率单调的特点,所以可以证明其折线(和二分次数)数量不会太大,为 O ( n 1 3 ) O(n^{\frac 13}) O(n31),然后就可以算了。
A C C o d e \mathrm {AC \ Code} AC Code
#include<bits/stdc++.h>
#define LL __int128
#define Ct const
#define ll long long
using namespace