这是对此StackOverflow 问题的一个衍生。
假设您有固定数量的存储位置k和两个计数器的空间。您将以随机顺序收到n个项目(所有n个项目的排列方式都是等可能的)。在收到每个项目后,您可以将其存储在k个位置之一中(丢弃先前存储的一个值),或者丢弃该项目。您还可以增加或减少任何一个计数器。任何被丢弃的项目都无法恢复。
问题是:
1.最大化找到确切中位数的概率的策略是什么? 2.那个概率是多少?
显然,如果k>n/2,则我们可以找到中位数。通常,似乎尝试保持高值和低值丢弃数量相等的相同策略应该是最优的,但我不确定如何证明它,也不知道如何计算它找到中位数的概率。
假设您有固定数量的存储位置k和两个计数器的空间。您将以随机顺序收到n个项目(所有n个项目的排列方式都是等可能的)。在收到每个项目后,您可以将其存储在k个位置之一中(丢弃先前存储的一个值),或者丢弃该项目。您还可以增加或减少任何一个计数器。任何被丢弃的项目都无法恢复。
问题是:
1.最大化找到确切中位数的概率的策略是什么? 2.那个概率是多少?
显然,如果k>n/2,则我们可以找到中位数。通常,似乎尝试保持高值和低值丢弃数量相等的相同策略应该是最优的,但我不确定如何证明它,也不知道如何计算它找到中位数的概率。
同样有趣的是,当我们不知道n但是知道n的概率分布时。
编辑:现在假设这些值是不同的(没有重复)。然而,如果您也能解决具有重复值的情况,那将会很令人印象深刻。