线性结构区间值问题分治解法探讨.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-10-13 发布于山西
  • 举报

Line解题报告

方法一:

我们可以直接。预计得分20分

方法二:

我们不考虑第三种操作,只需要一个最大值就可以了,预计得分40分

方法三:

我们考虑对于一段进行分段操作,分成sqrt(n)块。

有一个技巧是,我们求的是一段区间的最大值。我们把每个值a[i]修改为a[i]-a[i-1],这

样的话问题变成求最大前缀和。而第三种操作就变成了对一段区间进行加t的操作。

对于每一个快,我们记录这一块的最大值maxs,和对一整段进行操作的话,后面能够

超过这个最大值的最小的min。

那么对于第二种操作我们直接,时间复杂度o(sqrt(n));

对于第三种操作,如果跨立一个块得话,我们直接对这一段区间标记加上t。如果这个

标记大于这一段的min的话,我们对这一块进行。时间复杂度o(sqrt(n)).

对于第一种操作,我们可以变成求最大前缀和啦。时间复杂度o(sqrt(n));

这一整个时间复杂度为o((n+m)*sqrt(n));

文档评论(0)

1亿VIP精品文档

相关文档