求助线段树维护区间赋值和历史和
  • 板块学术版
  • 楼主ewe_
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/7/6 20:14
  • 上次更新2023/11/3 11:17:09
查看原帖
求助线段树维护区间赋值和历史和
585332
ewe_楼主2023/7/6 20:14

想法来源于这篇题解 https://www.cnblogs.com/registergen/p/cfgym103069g_solution.html 我想用这篇题解的思想来解决P3246 [HNOI2016] 序列。

代码思路如下:

先用单调栈预处理出L数组(L[i]表示左侧第一个严格小于a[i]的元素的下标),然后离线处理查询。考虑当右端点为i时,左端点在[L[i]+1,i]的区间的贡献会变为a[i],然后先更改贡献再求维护历史和。

大致代码贴楼下了。但我写不出复杂度正确的pushdown函数,直接暴力下传标记了。

2023/7/6 20:14
加载中...