gpt4 book ai didi

c++ - 哈希和模运算

转载 作者:行者123 更新时间:2023-11-30 21:30:52 26 4
gpt4 key购买 nike

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。请建议一个有效的算法。谢谢!!!

最佳答案

这不是一个特别强的哈希值。这个问题唯一困难的部分是使用单字母变量的钝表示法并将问题指定为 7 元组。

每次增加x都会使h(x)增加a。因此,沿 xcd 的总距离就是 (d-c)/a 。为栅栏柱问题添加一个,或者为了保持理智而用半开范围指定问题。

关于c++ - 哈希和模运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com