不支持标记永久化的区间修改主席树
  • 板块学术版
  • 楼主rsdbk_husky
  • 当前回复12
  • 已保存回复12
  • 发布时间2022/5/30 18:33
  • 上次更新2023/10/28 00:16:27
查看原帖
不支持标记永久化的区间修改主席树
392727
rsdbk_husky楼主2022/5/30 18:33

主席树区间修改能不标记永久化吗?

比如这样一个问题:

有一个数列 A=(a1,a2an)A=(a_1,a_2\cdots a_n)

记数列 AA 最一开始是版本 0。

mm 个操作,每个操作是以下这几种中的一个:

  1. 建立一个新版本,使得这个版本是上一个版本基础上将 lrl\sim r 的所有位置上的数 +v+v 得到的数列。

  2. 建立一个新版本,使得这个版本是上一个版本基础上将 lrl\sim r 的所有位置上的数 ×v\times v 得到的数列。

  3. 查询第 ii 个版本 lrl\sim r 的所有数的和。

n,m105n,m\le 10^5

如果没有操作 2,可以使用标记永久化。但是有操作 2 应该就不行了。那么如果不能使用标记永久化,怎么做到主席树区间修改呢?怎么避免复杂度变劣为 O(mnlogn)O(mn\log n) 呢?

或者这个问题无解

2022/5/30 18:33
加载中...