摘要:
题面传送门 出题人总是喜欢让李超上树( 这个东西显然树剖+线段树。 我们将修改拆成两端,那么上行那一段的直线方程就是$y=-ad_x+d_ux+b$ 下行同理,那么直接维护即可,时间复杂度$O(nlog^3n)$,但是那个东西常数很小。 code: #include<bits/stdc++.h> # 阅读全文
posted @ 2021-07-14 21:33
275307894a
阅读(54)
评论(0)
推荐(0)
摘要:
题面传送门 李超线段树的板子。 李超线段树是一种利用了标记永久化的线段树。每个区间存储的是这个区间的露在最上面最大的线段。 但是因为是标记永久化所以这个存储的东西本身就是不严格的。 有了这个定义就很好做了。 我们对于每个线段先拆成logn个扔到线段树对应区间,然后再分别插入。 插入的时候根据定义随便 阅读全文
posted @ 2021-07-14 21:07
275307894a
阅读(67)
评论(0)
推荐(0)
摘要:
我们考虑对询问差分,设$f(l1,r1,l2,r2)\(为左端点在\)[l1,r1]\(中,右端点在\)[l2,r2]$中的答案。 那么一个询问就变成$f(1,r,1,r)-f(1,l-1,1,l-1)-f(1,l-1,l,r)$ 前面那个十分平凡,我们考虑后面那个。 将询问离线,然后就变成每次加入 阅读全文
posted @ 2021-07-14 20:52
275307894a
阅读(48)
评论(0)
推荐(0)
摘要:
看到这种平均数的题目肯定想到分数规划啊。 首先二分一个$mid$,然后每个点的点权减去$mid$,就变成了对于每个点求树上的包含一个点的连通块最大大小。 这个显然是平凡换根dp首先一边dp弄出子树内,然后再来一次算父亲的贡献。 时间复杂度$O(nlogk)$ code: #include<bits/ 阅读全文
posted @ 2021-07-14 20:42
275307894a
阅读(52)
评论(0)
推荐(0)
摘要:
这个东西直接算显然不好算,我们考虑将其中心爆破。 如果我们枚举第三个位置$l$,再枚举第四个字符$c0$,那么一二位的方案数是平凡的。 考虑如果时间复杂度允许,我们枚举第五个位置$r$,设$S(c,l,r)\(为\)[l,r]$中$c$的数量,那么答案就是$S(c,l,r)\times S(c,r, 阅读全文
posted @ 2021-07-14 07:00
275307894a
阅读(48)
评论(0)
推荐(1)

浙公网安备 33010602011771号