zoukankan      html  css  js  c++  java
  • HZOJ 大佬(kat)

    及其水水水的假期望(然而我已经被期望吓怕了……)。

    数据范围及其沙雕导致丢掉5分……

    因为其实每天的期望是一样的,考虑分开。

    f[i][j]表示做k道题,难度最大为j的概率。

    则f[i][j]=(f[i-1][j])*(j-1)*tem+q[j]*tem;q为前缀和,tem为分母。

    ps.if(k>n){puts("0");return 0;}

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cstdio>
     4 #define MAXN 510
     5 #define LL long long
     6 #define ma(x,y) memset(x,y,sizeof(x))
     7 using namespace std;
     8 const int mod=1e9+7;
     9 int n,m,k;
    10 LL wt[MAXN];
    11 LL sum;
    12 LL f[MAXN][MAXN];
    13 LL q[MAXN];
    14 LL poww(LL a,int b,int mod)
    15 {
    16     LL ans=1;
    17     while(b)
    18     {
    19         if(b&1)ans=ans*a%mod;
    20         a=a*a%mod;
    21         b=b>>1;
    22     }
    23     return ans;
    24 }
    25 inline int read();
    26 signed main()
    27 {
    28 //    freopen("in.txt","r",stdin);
    29 //    freopen("1.out","w",stdout);
    30 
    31     n=read();m=read();k=read();
    32     if(k>n){puts("0");return 0;}
    33     for(int i=1;i<=m;i++)wt[i]=read(),sum+=wt[i];
    34     if(k==1)
    35     {
    36         LL tem=sum%mod*poww(m,mod-2,mod)%mod;
    37         printf("%lld
    ",tem*n%mod);
    38         return 0;
    39     }
    40     f[0][0]=1;
    41     LL tem=poww(m,mod-2,mod);
    42     for(int j=0;j<=m;j++)q[j]=1;
    43     for(int i=1;i<=k;i++)
    44     {
    45         for(int j=1;j<=m;j++)
    46             f[i][j]=(f[i-1][j]*(j-1)%mod*tem%mod+q[j]*tem%mod)%mod;
    47         q[0]=0;
    48         for(int j=1;j<=m;j++)
    49             q[j]=(q[j-1]+f[i][j])%mod;
    50     }
    51     LL ans=0;
    52     for(int i=1;i<=m;i++)ans=(ans+f[k][i]*wt[i]%mod)%mod;
    53     printf("%lld
    ",ans*(n-k+1)%mod);
    54 }
    55 inline int read()
    56 {
    57     int s=0;char a=getchar();
    58     while(a<'0'||a>'9')a=getchar();    
    59     while(a>='0'&&a<='9'){s=s*10+a-'0';a=getchar();}
    60     return s;
    61 }
    View Code
  • 相关阅读:
    QT的密码输入框以及国际化的一些问题
    Android中的Chronometer
    android中的Spinner的使用
    Python的MySQLdb模块安装
    android被逼学习布局管理器
    大家有什么好的C++项目主题,帮忙推荐几个
    C++标准pdf 分享
    CSS创建下拉菜单
    android中ToggleButton的使用
    Android中的DigitalClock和AnalogClock
  • 原文地址:https://www.cnblogs.com/Al-Ca/p/11264205.html
Copyright © 2011-2022 走看看