淘宝网站建设,html5移动网站制作,清丰网站建设价格,菠菜网站怎么建设Treap 是一种使用随机数生成器来维护树形结构的数据结构#xff0c;而 mt19937 是一种常用的伪随机数生成器。虽然 mt19937 可以生成高质量的随机数序列#xff0c;但是在 Treap 中使用它可能会导致一些问题。
mt19937 返回的是一个 unsigned int
其中一个问题是#xff0…Treap 是一种使用随机数生成器来维护树形结构的数据结构而 mt19937 是一种常用的伪随机数生成器。虽然 mt19937 可以生成高质量的随机数序列但是在 Treap 中使用它可能会导致一些问题。
mt19937 返回的是一个 unsigned int
其中一个问题是mt19937 生成的随机数序列是确定的也就是说如果使用相同的种子值每次生成的随机数序列都是相同的。这就会导致 Treap 在使用相同的种子值时生成的树形结构也是相同的这可能会降低 Treap 的性能和安全性。
另一个问题是mt19937 生成的随机数序列是均匀分布的而 Treap 中需要的随机数却是符合概率分布的因此 mt19937 不能很好地满足 Treap 中的需求。
为了解决这些问题Treap 中通常会使用更高质量的随机数生成器如 PCG 或 XORSHIFT 等。这些随机数生成器生成的随机数序列更加随机和均匀可以更好地满足 Treap 的需求。
写下这篇文章是因为我在写 treap 的时候使用 mt19937 导致代码测试错误我将其改成 LLLLLL 类型的 valvalval 后可以正常 AC于是就有了上述的问题于是就写下这篇文章记录一下