zoukankan      html  css  js  c++  java
  • hdu5985[概率dp] 2016青岛icpc现场赛

    #include <bits/stdc++.h>
    using namespace std;
    double alldead[12][105];
    double rev[12][105];
    double p[12][105];
    double ans[12];
    int a[12];
    int T, n;
    double fastpow(double a, int b) {
        double ret = 1.0;
        while (b) {
            if (b & 1) {
                ret *= a;
            }
            a = a * a;
            b >>= 1;
        }
        return ret;
    }
    int main() {
        scanf("%d", &T);
        while (T--) {
            scanf("%d", &n);
            for (int i = 1; i <= n; i++) {
                scanf("%d%lf", &a[i], &p[i][1]);
            }
            if (n == 1) {
                puts("1.000000");
                continue;
            }
            for (int i = 1; i <= n; i++) {
                for (int j = 2; j <= 75; j++) {
                    p[i][j] = p[i][1] * p[i][j - 1];
                }
                rev[i][0] = 1.0;
                alldead[i][0] = 0.0;
                for (int j = 1; j <= 75; j++) {
                    alldead[i][j] = fastpow(1.0 - p[i][j], a[i]);
                    rev[i][j] = 1.0 - alldead[i][j];
                }
            }
            for (int i = 1; i <= n; i++) {
                for (int j = 1; j <= 72; j++) {
                    double tmp = 1;
                    for (int k = 1; k <= n; k++) {
                        if (k == i) continue;
                        tmp *= alldead[k][j];
                    }
                    ans[i] += (rev[i][j] - rev[i][j + 1]) * tmp;
                }
            }
            for (int i = 1; i <= n; i++) {
                if (i != 1) printf(" ");
                printf("%.6f", ans[i]);
                ans[i] = 0.0;
            } puts("");
        }
        return 0;
    }
  • 相关阅读:
    CSS属性之定位
    CSS选择器区别
    HTML属性及其相关区别
    HTML标签区别
    HTML其他概念
    CSS3新特性
    HTML5新标签
    HTML5新特性
    params修饰符的用法
    C#中引用参数ref和输出参数out
  • 原文地址:https://www.cnblogs.com/UnderSilenceee/p/7773928.html
Copyright © 2011-2022 走看看