题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3696
题目大意:
就是一个东西,随机产生器官,一天产生的数量的期望是x,求一天内产生个数小于等于N的概率
题目思路:
泊松分布。概率论得好好学。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <math.h> 7 #include <stack> 8 #include <queue> 9 #include <map> 10 #include <set> 11 #include <vector> 12 #include <cmath> 13 #include <algorithm> 14 #define lson l, m, rt<<1 15 #define rson m+1, r, rt<<1|1 16 using namespace std; 17 typedef long long int LL; 18 const int MAXN = 0x7fffffff; 19 const int MINN = -0x7fffffff; 20 const double eps = 1e-9; 21 const int dir[8][2] = {{0,1},{1,0},{0,-1},{-1,0},{-1,1}, 22 {1,1},{1,-1},{-1,-1}}; 23 double la; 24 double cal(double k) { 25 double l = 1; 26 for (int i = 1; i <= k; ++i) { 27 l = l * i; 28 } 29 double re = pow(la, k) / l * exp(-la); 30 return re; 31 } 32 int main(void){ 33 #ifndef ONLINE_JUDGE 34 freopen("a.in", "r", stdin); 35 #endif 36 int t; scanf("%d", &t); 37 while (t--) { 38 double N; int i, j; double sum = 0; 39 cin >> N >> la; 40 for (i = 0; i <= N; ++i) { 41 sum += cal(i*1.0); 42 } 43 printf("%.3lf\n", sum); 44 } 45 46 return 0; 47 }
比赛到最后10分钟了才写,最后3分钟过的,,代码比较挫……还是跟别人讨论的。。。