【问题标题】:Sum of MEX of all subarrays of the given array给定数组的所有子数组的 MEX 总和
【发布时间】:2021-10-30 05:14:35
【问题描述】:

求给定数组的所有子数组的 MEX 之和。墨西哥 (排除最小值)数组是最小的非负整数 不属于数组。

例如:[2,2,1] 的 MEX 是 0,因为0不属于数组。 [3,1,0,1] 的 MEX 为 2, 因为 0 和 1 属于数组,但 2 不属于。墨西哥 [0,3,1,2] 是 4 因为 0, 1, 2 和 3 属于数组,但 4 确实 不是。值得一提的是,长度为 n 的数组的 MEX 是 总是介于 0 和 n 之间。

约束: n

我想到了一个不会通过给定约束的 O(n^2) 解决方案。我们需要找到一个 O(nlogn) 或 O(n) 的解决方案

【问题讨论】:

  • 你的 O(n^2) 解决方案是什么?
  • 在线提供解决方案:codedrills.io/problems/subarray-mex-sum
  • 是的,我通过了这个解决方案,但似乎有点难以理解。这个问题可以用dp之类的来解决吗?

标签: arrays algorithm dynamic-programming segment-tree


【解决方案1】:

数组的 MEX(排除最小值)是不属于该数组的最小非负整数。例如:

[2,2,1]的MEX为0,因为0不属于数组。 [3,1,0,1] 的 MEX 为 2,因为 0 和 1 属于数组,而 2 不属于。 [0,3,1,2] 的 MEX 为 4,因为 0,1,2 和 3 属于数组,但 4 不属于。 求非负整数数组的最大可能 MEX,使得数组中元素的按位或不超过 X。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 2013-02-03
    • 2017-06-25
    • 2014-12-19
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多