mt19937
當你第一眼看到這玩意兒的時候
肯定禁不住吐槽:納尼?這是什么鬼?
確實,這個東西鮮為人知,但是它卻有着卓越的性能
簡介
mt19937是c++11中加入的新特性
它是一種隨機數算法,用法與rand()函數類似
但是具有速度快,周期長的特點(它的名字便來自周期長度:2^19937-1)
說的直白一點,我們都知道rand()在windows下生成的數據范圍為0-32767
但是這個函數的隨機范圍大概在\((-maxint,+maxint)\)(maxint為int類型最大值)
實例
這個東西用法非常簡單
#include<random>
#include<ctime>
std::mt19937 rnd(time(0));
int main()
{
printf("%lld\n",rnd());
return 0;
}