概率期望总结

每一次每一年,数学是心中的痛,不管怎么说,数学不差,但是却不愿意花时间,我在想,也许以前我努力一点,那一年没颓废,或许我是一个不一样的我,但是,人生,总会经历很多,一个人,经历过才会成熟,也许这辈子智商有限,只能停留在某一个水平,我想我也在很认真的做一件事,但事实就是这么残酷,你辛苦一个学期,别人只要最后一个作弊,成绩就能超过你,过后,还能说自己没作弊,也许这就是人生,也许这就是社会,但是不管怎样,我要做好自己,不羡慕不嫉妒,得道成仙,努力搞完这个ACM吧,希望自己能获得一定的成就,这些天刷了一些概率期望的水题,因为以前从来没接触过,上次湘潭果断被坑,立志不怕数学,简单的入个门,就要认真进阶!

uva--1639

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#define siz 200005
#define L long
#define LL long long
using namespace std;
int n,D;
double p;
L double lnarr[2*siz];
void getln(){
    lnarr[1]=0.0;
    for(int i=2;i<2*siz;i++){
        lnarr[i]=lnarr[i-1]+log(i);
    }
}
L double Vi(int c,int x){
    return lnarr[c]-lnarr[x]-lnarr[c-x];
}
void solve(){
     double ans=0.0;
    for(int i=1;i<=n;i++){
         L double c=Vi(2*n-i,n);
         L double v1=c+(n+1)*log(p)+(n-i)*log(1-p);
         L double v2=c+(n+1)*log(1-p)+(n-i)*log(p);
         //ans+=i*(exp(v1)+exp(v2));
        ans+=1.0*i*(exp(Vi(2*n-i,n)+(n+1)*log(p)+(n-i)*log(1-p))+exp(Vi(2*n-i,n)+(n+1)*log(1-p)+(n-i)*log(p)));
    }
    printf("%.6f\n",ans);
}
int main()
{
    int cas=0;
    getln();
   // cout<<lnarr[1]<<endl;
    while(~scanf("%d %lf",&n,&p)){
       // cout<<p<<endl;
       printf("Case %d: ",++cas);
        solve();
    }
    return 0;
}

uva--10288

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#define LL long long
using namespace std;
LL gcd(LL int a,LL int b){
    if(b==0) return a;
    else return gcd(b,a%b);
}
int n;
int main()
{
    int ans;
    while(~scanf("%d",&n)){
        LL int son=1,mon=1;
        for(int i=2;i<=n;i++){
           LL int x=mon*i;
           LL y1=son*i,y2=mon;
           LL y=y1+y2;
           //cout<<y<<" "<<x<<endl;
           LL gc=gcd(x,y);
           //cout<<gc<<endl;
           x=x/gc;
           y=y/gc;
           son=y,mon=x;
        }
        //cout<<son<<" "<<mon<<endl;
        LL gc=gcd(n,mon);
        mon=mon/gc;
        n=n/gc;
        son=son*n;
        LL pp=son/mon;
        LL qq=son%mon;
        LL jishu1=0;
        LL M=mon;
        //cout<<jishu1<<" "<<M<<" "<<mon<<endl;
        while(M){
            ++jishu1;
            M=M/10;
        }
        //cout<<jishu1<<endl;
        M=pp;
        int js=0;
        while(M){
            ++js;
            M=M/10;
        }
        if(qq==0){
            printf("%lld\n",pp);
        }
        else{
          if(pp==0){
            printf("%lld\n",qq);
            for(int j=0;j<jishu1;j++){
                printf("-");
            }
            printf("\n");
            printf("%lld\n",mon);
          }
          else{
            for(int j=0;j<=js;j++){
                printf(" ");
            }
            printf("%lld\n",qq);
            printf("%lld ",pp);
            for(int j=0;j<jishu1;j++){
                printf("-");
            }
            printf("\n");
            for(int j=0;j<=js;j++){
                printf(" ");
            }
            printf("%lld\n",mon);
          }
        }

    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值