SCU2016-02 R题概率dp
来源:互联网 发布:国家邮政局投诉知乎 编辑:程序博客网 时间:2024/04/29 11:22
Analyse:
定义:
对于当前局面可以减少一个石头,减少一个布,减少一个剪刀,和平三种情况,平了我们还会继续来一轮。
所以干脆就只考虑三种情况,他们各自发生的概率是他们的加权比例.
减少一个石头:
减少石头的概率
Get:
概率是当前局面累加到未知局面上。
期望是当前局面累加已知局面的期望天数的加权和 + 1。
/**********************jibancanyang************************** *Author* :jibancanyang *Created Time* : 三 7/ 6 12:44:52 2016**Problem**:**Code**:***********************1599664856@qq.com**********************/#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <cmath>#include <cstdlib>#include <ctime>#include <stack>using namespace std;typedef pair<int, int> pii;typedef long long ll;typedef unsigned long long ull;typedef vector<int> vi;#define pr(x) cout << #x << ": " << x << " " #define pl(x) cout << #x << ": " << x << endl;#define pri(a) printf("%d\n",(a))#define xx first#define yy second#define sa(n) scanf("%d", &(n))#define sal(n) scanf("%lld", &(n))#define sai(n) scanf("%I64d", &(n))#define vep(c) for(decltype((c).begin() ) it = (c).begin(); it != (c).end(); it++) const int mod = int(1e9) + 7, INF = 0x3f3f3f3f;const int maxn = 1e5 + 13;double dp[102][103][104];int main(void){#ifdef LOCAL freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout);#endif int r, s, p; sa(r), sa(s), sa(p); dp[r][s][p] = 1; for (int i = r; i >= 0; i--) { for (int j = s; j >= 0; j--) { for (int k = p; k >= 0; k--) { if (i * j + j * k + i * k) ; else continue; if (i) dp[i - 1][j][k] += dp[i][j][k] * i * k / (i * j + j * k + i * k ); if (j) dp[i][j - 1][k] += dp[i][j][k] * i * j / (i * j + j * k + i * k ); if (k) dp[i][j][k - 1] += dp[i][j][k] * k * j / (i * j + j * k + i * k ); } } } double a = 0, b = 0, c = 0; for (int i = 1; i <= r; i++) a += dp[i][0][0]; for (int i = 1; i <= s; i++) b += dp[0][i][0]; for (int i = 1; i <= p; i++) c += dp[0][0][i]; printf("%.14f %.14f %.14f\n", a, b, c); return 0;}
0 0
- SCU2016-02 R题概率dp
- SCU2016-02 O题 概率dp
- SCU2016-07 N题 概率dp
- SCU2016-06 R题矩阵快速幂优化的dp
- SCU2016-02 Q题区间dp入门
- SCU2016-02 Q题区间dp
- SCU2016-02 M题 (dp)
- SCU2016-05 R题数学模拟
- SCU2016-03 A题 trie树 + dp
- SCU2016-05 L题插头dp入门题
- SCU2016-04 I题 最优博弈的装压dp
- SCU2016-05 I题 trie图 + 大数dp
- SCU2016-01 I题 二分 + 斜率优化dp
- SCU2016-02 S题 区间二分
- SCU2016-02 G题 (技巧)
- SCU2016-02 A题(LCA)
- SCU2016-02 P题 (凸包)
- SCU2016-02 I题 (反转技巧)
- 《一个普通IT人的十年回顾》金旭亮——警醒自己!
- C++ 最近面试题中遇到的一些问题
- HDU 4915 (贪心)
- TimesTen 数据库复制学习:15. 监控复制系统
- 编译原理-LR(0)分析法
- SCU2016-02 R题概率dp
- python总结
- Android 获取文字的高度
- Mysql表结构优化
- java I/O流(4) RandomAccessFile
- LeetCode进阶之路(ZigZag Conversion)
- 【javascript]-Dom的编辑
- 区块链开发(一)搭建基于以太坊的私有链环境
- 【leetcode】155. Min Stack