之前发现这玩意自己只会写矩阵,常数太大了,研究一下这个。
先来处理较为简单的历史 max,我们维护 \(mx, hmx, add, hadd\),表示当前区间 max,历史区间 max,当前需下传的加法标记,没有下传的加法标记中,最大前缀和是多少。
涉及到最大前缀和,显然打标记和下传标记都是简单的,很容易维护,可以理解成每个标记都是一个序列,打标记就是新增一个数,下传标记就是将序列拼接。
对于历史和,多维护一个经过的多少次历史和计算即可。
真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。
之前发现这玩意自己只会写矩阵,常数太大了,研究一下这个。
先来处理较为简单的历史 max,我们维护 \(mx, hmx, add, hadd\),表示当前区间 max,历史区间 max,当前需下传的加法标记,没有下传的加法标记中,最大前缀和是多少。
涉及到最大前缀和,显然打标记和下传标记都是简单的,很容易维护,可以理解成每个标记都是一个序列,打标记就是新增一个数,下传标记就是将序列拼接。
对于历史和,多维护一个经过的多少次历史和计算即可。