摘要:
题面 求中位数的套路:二分,大于等于的设为1,小于的设为-1 于是可以从小到大排序后依次加入可持久化线段树,这样每次只会变化一个位置 那左右端点是区间怎么办? 先把中间的算上,然后维护每个区间左右两侧最大子段和,左右和右左拼起来即可 1 #include<cstdio> 2 #include<cst 阅读全文
posted @ 2019-03-15 08:35
Speranza_Leaf
阅读(164)
评论(0)
推荐(0)
摘要:
题面 根据树上距离的计算方法,可以先把答案化成$\sum dep_i+n*dep_u-\sum 2*dep[LCA(i,u)]$的形式,然后维护$\sum 2*dep[LCA(i,u)]$ 把妖怪们按年龄排序,轻重剖分后插入每个点到根的路径,记录经过次数,询问也是往根跳然后每次统计边权*次数。 可持 阅读全文
posted @ 2019-03-15 08:17
Speranza_Leaf
阅读(120)
评论(0)
推荐(0)

浙公网安备 33010602011771号