数据结构中的负二项式分布
负二项式分布是一个随机数分布,它将根据负二项式离散分布产生整数。这称为Pascal分布,因此负二项式分布可写为
$$P\lgroupi\arrowvertk,p\rgroup=\lgroup\frac{k+i-1}{i}\rgroupp^{k}\lgroup1-p\rgroup^{i}$$
示例
#include <iostream>
#include <random>
using namespace std;
int main(){
const int nrolls = 10000; // number of rolls
const int nstars = 100; // maximum number of stars to distribute
default_random_engine generator;
negative_binomial_distribution<int> distribution(3,0.5);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
int number = distribution(generator);
if (number<10)
p[number]++;
}
cout << "negative_binomial_distribution (3,0.5):" << endl;
for (int i=0; i<10; ++i)
cout << i << ": " << string(p[i]*nstars/nrolls,'*') << endl;
}输出结果
0: ************ 1: ******************* 2: ***************** 3: **************** 4: *********** 5: ******* 6: ***** 7: *** 8: ** 9: *
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语