【发布时间】:2013-10-11 13:07:42
【问题描述】:
根据Wikipedia,线性同余生成器由以下递归关系定义:
X(n) = {a.X(n-1) + c} mod m
其中0 < m、0 <= a < m、0 <= c < m、0 <= X(0) < m 是指定生成器的整数常量。
如果给定a、c、m、X(0)和n的值,我可以确定k的最小值(1 <= k <= n)集合@ 987654334@非常快? (比O(n) 快——基于排序算法)
【问题讨论】:
-
如果LCG设计正确,它的范围是
{0..m},所以k-smallestX(i)大概是k-1。 -
这个问题也适合 math.stackexchange.com。
-
@RBarryYoung:对于给定的
n不小于期间。 -
是否允许预先计算任何东西,给定固定参数?
-
@YvesDaoust 你可能会认为
a,c,m,n <= 10^9,因为它足够大..