h(y)
として定義された関数を とします(a*y+b)mod m
。したがってh(y)
、値を取ることができますfrom 0 to m-1.
。これで、7 つの整数が与えられますa,b,x,n,c,d,m
。h(x),h(x+1),h(x+2)...h(x+n)
私たちのタスクは、 の値がh(x+i)
の範囲に収まる[c,d]
ようなの合計数を見つけることです。ここで、0<=i<=n
整数の制限は次のとおりです。
1 ≤ m ≤ 10^15, c ≤ d < m, a,b < m, x+n ≤ 10^15, and a*(x+n) + b ≤ 10^15
例えば。入力set {1,0,0,8,0,8,9}
の場合、出力は 9 である必要があります。効率的なアルゴリズムを提案してください。ありがとう!!!