【考试总结】2022-07-25

梦符

考虑相交的条件: QlaQr,Qur,Qvl 。那么求出来 lQv 的所有线段和并减去 r<Qu 的线段权值之和即可

使用可持久化线段树

大合葬

ai 对位减 bi 并将问题转化为求使用 A2,,A3, 将序列清零的最小步数。令 A=A2,1A2,2,B=A3,1A3,2。再设对序列第 i 为进行的 ±A 操作次数为 cAi 的绝对值,为负则表示操作为 A

注意到任意一组 {cA,cB} 在满足 cAi=0 时都可以还原一个操作序列,那么对于每个 i 使用 exgcd 求出来 A×cAi+B×cBi=ai 的满足 |cAi|+|cBi| 最小的解,可以取 cA,cB 之一在取正/负 绝对值最小 的四个情况。

此时可能 cAi0 ,使用小根堆进行调整即可。以 cAi<0 为例,需要找若干 icAicAi+B,cBicBiA ,每次找到最小增量者贪心,弹出堆并将其在进行增加时的增量入堆。

白楼剑

赛时做法大概是扫描线,然后暴跳后缀树,每个点最长长度乘出现次数的贡献用树状数组维护,节点内部的等差数列写个李超线段树做做

标算是回滚莫队,从左向右的扩展做法和上面一致,匹配到的节点特别处理,否则是根链 len×siz 最大值,可以预处理。完成向右扩展之后向左扩展,在反串 SAM 上做一样的事情就行了。

乍一看左指针每挪一下要倍增一次,不过右指针挪可以在 SAM 上走,而左指针也是在最开始挪的时候倍增一下,一共 Q

posted @   没学完四大礼包不改名  阅读(86)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示