我想用段树来解决 Joseph Flavius 问题。我几乎可以肯定,简单的模拟(即行列表)是O(n^2)
. 我想要实现的是在特定距离的数组上跳跃,取自段树。换句话说,段树将保留有关已删除元素数量的信息,并从树中获取一些信息将允许在 O(1) 中找到下一个要删除的元素。问题是我不知道如何在段树中存储信息以使其适用于 Joseph Flavius 问题。
每个节点中保留了某种额外的值?但是如何查询下一个元素呢?
我想用段树来解决 Joseph Flavius 问题。我几乎可以肯定,简单的模拟(即行列表)是O(n^2)
. 我想要实现的是在特定距离的数组上跳跃,取自段树。换句话说,段树将保留有关已删除元素数量的信息,并从树中获取一些信息将允许在 O(1) 中找到下一个要删除的元素。问题是我不知道如何在段树中存储信息以使其适用于 Joseph Flavius 问题。
每个节点中保留了某种额外的值?但是如何查询下一个元素呢?