zoukankan      html  css  js  c++  java
  • Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) D. Jon and Orbs 概率DP

    D. Jon and Orbs

    链接:

    http://codeforces.com/contest/768/problem/D

    题解:

    设dp[i][j]为第i天时已经产生j种龙晶,转移方程为

    dp[i][j] += dp[i - 1][j] * j / k;
    dp[i][j + 1] += dp[i - 1][j] * (k - j) / k;

    代码:

     1 #include <map>
     2 #include <set>
     3 #include <cmath>
     4 #include <queue>
     5 #include <stack>
     6 #include <cstdio>
     7 #include <string>
     8 #include <vector>
     9 #include <cstring>
    10 #include <iostream>
    11 #include <algorithm>
    12 #include <functional>
    13 using namespace std;
    14 #define rep(i,a,n) for (int i=a;i<=n;i++)
    15 #define per(i,a,n) for (int i=n;i>=a;i--)
    16 #define pb push_back
    17 #define mp make_pair
    18 #define all(x) (x).begin(),(x).end()
    19 #define fi first
    20 #define se second
    21 #define SZ(x) ((int)(x).size())
    22 typedef vector<int> VI;
    23 typedef long long ll;
    24 typedef pair<int, int> PII;
    25 const ll mod = 1000000007;
    26 const double eps = 1e-7;
    27 // head
    28 
    29 double dp[10005][1005];
    30 int main()
    31 {
    32     int k, q;
    33     scanf("%d%d", &k, &q);
    34     dp[0][0] = 1.0;
    35     rep(i, 1, 10000) rep(j, 0, k) { 
    36             dp[i][j] += dp[i - 1][j] * j / k;
    37             dp[i][j + 1] += dp[i - 1][j] * (k - j) / k;
    38         }
    39     rep(i, 1, q) {
    40         int p;
    41         scanf("%d", &p);
    42         rep(j, 0, 10000)
    43             if (dp[j][k] > (p - eps) / 2000){
    44                 printf("%d
    ", j);
    45                 break;
    46             }
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    高中时代的记忆
    winscp连接vmware ubuntu
    linux下mysql环境支持中文配置步骤
    mysql中常用的语句整理
    linux服务器伪分布模式安装hadoop-1.1.2
    linux运维常用命令
    hbase 单机模式安装
    灰度发布
    HDU 5269 ZYB loves Xor I
    HDU 5536 Chip Factory
  • 原文地址:https://www.cnblogs.com/baocong/p/6430486.html
Copyright © 2011-2022 走看看