mt19937
在头文件<random>中,c++中的伪随机数生成器类型(与rand类似)
使用方法
mt19937 gen(seed);//构造
gen();生成随机数
uniform_int_distribution
在头文件<random>中,均匀分布,是一个随机数分布类,参数为生成随机数的类型(例如mt19937或default_random_engine类型),构造函数接受两个值表示区间段
使用方法
uniform_int_distribution<int> dis(num1,num2);//构造num1到num2间的随机分布
int num=dis(gen);//根据一个随机数生成器得到范围内的随机数
random_device
在头文件<random>中,生成均匀分布的无符号数,可以用做mt19937的seed
random_device rd;//构造
gen(rd());
srand
给rand()提供种子,可以利用srand((unsigned)time(nullptr));进行随机
rand()生成一个随机数
partial_sum 在头文件<numeric>中 用于求部分和(累加和)
用法
result.resize(v.size());
partial_sum(v.begin(),v.end(),result.begin());
或
partial_sum(v.begin(),v.end(),back_insertet(result));
//back_inserter可以用于在result末尾插入元素
可以将v的前缀和存放至result中