poj 1322 Chocolate
来源:互联网 发布:天猫是淘宝的吗 编辑:程序博客网 时间:2024/05/18 01:51
概率问题,第一次接触
几个结论
„ 我们记P(N,M)表示拿出N块巧克力后,桌上还
剩M块巧克力的概率
„ 我们可以得到下面的结论
( 1) P(N,M)=0 当N+M为奇数
( 2) P(N,M)=P(N-1,M-1)*P1+P(N-1,M+1)*P2
其中P1=(C-M+1)/C,P2=(M+1)/C
另外,dp的数组大小,dp[1001][101]报错,dp[1010][101]通过,难怪关于数组的大小问题,网上很多人上来就是1010,10010,….10等
#include<iostream>#include<string.h>#include<math.h>#include<fstream>#include<algorithm>#include<stdio.h>#include<queue>#include<vector> #define MAXSIZE 100using namespace std;double dp[1001][101];int C = 0, M = 0, N = 0; int main(){ //freopen("data_1322.txt","r",stdin); while(true) { scanf("%d", &C); if (C == 0) break; scanf("%d%d", &N, &M); memset(dp, 0, sizeof(dp)); dp[0][0] = 1; if (M > C || M > N){ printf("0.000\n"); continue; } if (N > 1000) { if (N % 2) { N = 1001; }else { N = 1000; } } for (int i = 1; i <= N; i++) { dp[i][0] = dp[i - 1][1] / C; dp[i][C] = dp[i - 1][C - 1] / C; for (int j = 1; j < C; j++) { dp[i][j] = dp[i-1][j+1]*(j+1)/C + dp[i-1][j-1]*(C-j+1)/C; } } printf("%.3lf\n", dp[N][M]); } return 0;}
0 0
- poj 1322 Chocolate
- poj 1322 Chocolate
- poj 1322 Chocolate
- poj 1322 Chocolate
- POJ 1322 Chocolate
- poj 1322 Chocolate
- POJ 1322 Chocolate 笔记
- POJ--1322[Chocolate] DP+概率
- poj 1322 Chocolate (概率dp)
- poj 1322 Chocolate 概率dp
- POJ 1322 Chocolate(母函数)
- POJ-1322 Chocolate(概率DP)
- POJ 1322 Chocolate(概率DP)
- POJ-1322 Chocolate(生成函数)
- POJ 1322 Chocolate (dp or 组合数学母函数)
- POJ 1322 Chocolate 概率DP 近似取值
- poj 1322 Chocolate(生成函数 or 概率dp)
- poj 1322 Chocolate (生成函数||概率DP)
- 消息队列讲解
- POJ2752KMP
- Java集合框架小结
- GRE填空考试时间分配
- 在12864液晶上显示任何图像
- poj 1322 Chocolate
- iOs画图 划线的三种方式
- 关于MYSQL索引优化和in or替换为union all的问题
- 绿色建筑的现状与发展(上)
- [Objective-C] 理解 Objective-C 的 ARC
- Linux驱动修炼之道-INPUT子系统(上)
- Cordys Business Identify 的使用
- Spring事务的传播行为
- c# text设置密码属性