询问一道数据结构题
  • 板块学术版
  • 楼主yzy4090
  • 当前回复4
  • 已保存回复4
  • 发布时间2025/5/31 22:53
  • 上次更新2025/6/15 12:23:28
查看原帖
询问一道数据结构题
567388
yzy4090楼主2025/5/31 22:53

两个 1,2,,n1,2,\dots,n 的排列 p1n,q1np_{1\dots n},q_{1\dots n},以及一个初始时全为 00 的序列 a1na_{1\dots n}。有 m+qm+q 次操作,其中有 mm 次修改和 qq 次询问。
每次修改给定区间 [l,r][l,r] 以及整数 xx,需要做 i[l,r],apiapi+x\forall i\in[l,r],a_{p_i}\gets a_{p_i}+x
每次询问给定区间 [l,r][l,r],需要计算 ri=l aqi\underset{i=l}{\overset{r}{\sum}}\ a_{q_i} 的值。
不考虑值域造成的影响,若 m=nm=nq=n×f(n)q=n\times f(n),其中 f(n)f(n) 是一个常数或一个与 nn 相关的函数,比如可能是 logn,n\log n,\sqrt{n} 等等,那么这个问题的时间复杂度最好可以做到多少?如果可以的话,最好用含 f(n)f(n) 的式子表示,比如 O(nn×f(n))\mathcal O\left(n\sqrt{n\times f(n)}\right) 等等。

2025/5/31 22:53
加载中...