• fzu 2257 saya的小熊饼干


    https://vjudge.net/problem/FZU-2257

    题意:略

    思路:

    看题解补的题。正难则反的思想求概率。

    首先,由于各维数之间是独立的。所以以x为例。首先,计算可以取到(i,j)的概率,取不到i的概率是同时取i的上面或者下面即((i-1) * (i-1) + (n-i)*(n-i)) /(n*n);那么可以取到i的概率就是1.0 - ((i-1) * (i-1) + (n-i)*(n-i)) /(n*n);y同理。

    之后p(i,j)计算出来之后,那么1.0 - p(i,j)就是取不到这个点的概率,那么k次取不到这个点的概率就是pow(1.0 - p(i,j),k),那么1.0 - pow(1.0 - p(i,j),k)就是取k次能够取到这个点的期望啦,把每个格子的期望加起来就可以了。

    代码:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <math.h>
     4 
     5 double f(int x,int n)
     6 {
     7     double cant = 1.0 * (1.0 * (x-1) * (x - 1) + 1.0 * (n-x) * (n-x)) / (1.0 * n * n);
     8 
     9     return 1.0 - cant;
    10 }
    11 
    12 int main()
    13 {
    14     int k,m,n;
    15 
    16     while (scanf("%d%d%d",&k,&n,&m) != EOF)
    17     {
    18         double ans = 0;
    19         for (int i = 1;i <= n;i++)
    20             for (int j = 1;j <= m;j++)
    21         {
    22             double tmp = f(i,n) * f(j,m);
    23 
    24             ans = ans + 1.0 - pow(1.0-tmp,k);
    25         }
    26 
    27         printf("%.0f
    ",ans);
    28     }
    29 
    30     return 0;
    31 }
  • 相关阅读:
    iframe应用 相互之间发送消息 postMessage
    function angular.bootstrap()
    总结
    1-angular.bind
    jQuery treeTable v 1.4.2
    声明了一个模块和一个控制器AngularJS的处理过程
    angularJs $templateCache
    $.fn.zTree 的使用
    Java异常throws与throw的区别
    Pom报错
  • 原文地址:https://www.cnblogs.com/kickit/p/7232461.html
Copyright © 2020-2023  润新知