zoukankan      html  css  js  c++  java
  • NOIP 模拟 6 大佬

    这道题是一道数学期望,考场上想的是,每相邻 (k) 天之间有 (k-1) 天是重合的,所以每两端之间肯定是有影响的。
    结果啪啪打脸

    这道题其实不用考虑每两段之间的影响,因为在上一段的每种排法,在下一段我们都可以通过改变不重合的一个来改变影响

    所以,我们只需求出每一段的期望,然后乘上段数 (n-k+1) ,而对于每一段的期望,我们可以递推一下

    (f_i) 表示 (k) 天中最大值为 (i) 的概率,那么 (f_1) 就是 ((frac{1}{m})^k)(f_i) 可以先赋为 ((frac{i}{m})^k),这其实是算的最大值 (leq i) 的概率,所以我们需要减去 (sum_{j=1}^{i-1}f_j) ,见到此式,我们可以维护一个前缀和,也可以直接暴力修改,毕竟 (m) 也没多大。

    (ACkern 0.5emCODE:)

    Code
    #include<bits/stdc++.h>
    #define ri register int
    #define p(i) ++i
    using namespace std;
    namespace IO{
        char buf[1<<21],*p1=buf,*p2=buf;
        #define gc() p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++
        inline int read() {
            ri x=0,f=1;char ch=gc();
            while(ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=gc();}
            while(ch>='0'&&ch<='9') {x=(x<<1)+(x<<3)+(ch^48);ch=gc();}
            return x*f; 
        }
    }
    using IO::read;
    namespace nanfeng{
        #define int long long
        #define cmax(x,y) ((x)>(y)?(x):(y))
        #define cmin(x,y) ((x)>(y)?(y):(x))
        #define FI FILE *IN
        #define FO FILE *OUT
        static const int N=550,MOD=1e9+7;
        inline int fpow(int x,int y) {
            int res=1;
            while(y) {
                if (y&1) res=res*x%MOD;
                x=x*x%MOD;y>>=1;
            }
            return res;
        } 
        int wt[N],f[N],n,m,k,res;
        inline int main() {
            // FI=freopen("nanfeng.in","r",stdin);
            // FO=freopen("nanfeng.out","w",stdout);
            n=read(),m=read(),k=read();
            if (k>n) {puts("0");return 0;}
            for (ri i(1);i<=m;p(i)) wt[i]=read();
            int inv=fpow(fpow(m,k),MOD-2);
            for (ri i(1);i<=m;p(i)) {
                f[i]=fpow(i,k)*inv%MOD;
                for (ri j(i-1);j;--j) f[i]=(f[i]-f[j]+MOD)%MOD;
            }
            for (ri i(1);i<=m;p(i)) res=(res+wt[i]*f[i])%MOD;
            printf("%lld
    ",res*(n-k+1)%MOD); 
            return 0;
        }
        #undef int
    }
    int main() {return nanfeng::main();}
    
  • 相关阅读:
    nginx变量(日志log_format)
    nginx中间件
    social-auth-app-django集成第三方登录
    Django REST Framework限速
    django-redis
    Django REST Framework extensions
    django-rest-framework-jwt
    FromXml 支付回调 xml 转数组
    下个月此时
    PHP 暂停函数 sleep() 与 usleep() 的区别
  • 原文地址:https://www.cnblogs.com/nanfeng-blog/p/14876333.html
Copyright © 2011-2022 走看看