社区讨论

求助数据结构问题

学术版参与者 4已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@lo3fd76j
此快照首次捕获于
2023/10/24 05:43
2 年前
此快照最后确认于
2023/10/24 05:43
2 年前
查看原帖
自己想的一道数据结构,题目如下:

给定正整数 nn 和一个关于 1n1\sim n 的排列 b1,b2,...,bnb_1,b_2,..., b _ n
要求维护一个数列 a1,a2,...,ana_1,a_2,...,a_n,初值全为 00,有两种操作:
  • 给定 l,r,xl,r,x,把 al,al+1,...,ar1,ara_l,a_{l+1},...,a_{r-1},a_r 都加上 xx
  • 给定 l,rl,r,求出 abl,abl+1,...,abr1,abra_{b_l},a_{b_{l+1}},...,a_{b_{r-1}},a_{b_r} 的和。
其中 1n,m1051\le n,m\le 10^5mm 是操作数,保证任何时刻的 aia_i 的绝对值不超过 10001000

{bn}\{b_n\} 随机生成时,存在 O(nlog2n)O(n\log ^2n) 的做法。但是在刻意构造下会变成 O(n2logn)O(n^2\log n),因此想问问有没有更好的解法。

回复

8 条回复,欢迎继续交流。

正在加载回复...