zoukankan      html  css  js  c++  java
  • hdu 4869

    思维:

    根据观察。发现,最后,片材的数量是积极的一些间隔2连续数。这个标题被分成两部分,1 数字解决范围后,张某转正。2 组合的数目来解决。

    1。只注重的张前张数求解正范围内的最小和最大数目,详细变换关系可以自己推敲。

    2,当组合的数量,由于数据量大且取模,所以要避免正常的除法求解的公式,这里线性求解,除法处理上改为乘法 (a/b) %M=a*(b^(M-2))%M

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const long long M=1e9+9;
    long long c[111111];
    long long quickpow(long long m,long long n,int k)
    {
        long long b = 1;
        while (n > 0)
        {
            if (n & 1)
                b = (b*m)%k;
            n = n >> 1 ;
            m = (m*m)%k;
        }
        return b%k;
    }
    int m,n,x;
    int main()
    {
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            int mi=0,ma=0;
            int a,b;
            for(int i=0; i<n; i++)
            {
                scanf("%d",&x);
                if(mi-x>=0)a=mi-x;
                else if(ma-x>=0)
                {
                    if(mi%2==x%2)a=0;
                    else a=1;
                }
                else a=x-ma;
                if(ma+x<=m)b=ma+x;
                else if(mi+x<=m)
                {
                    if((mi+x)%2==m%2)b=m;
                    else b=m-1;
                }
                else b=m-(x-(m-mi));
                mi=a;
                ma=b;
            }
            long long mu=m,zi=1,xx,yy;
            c[0]=1;
            for(int i=1;i<=m;i++)
            {
                if(m-i<i)c[i]=c[m-i];
                else
                {
                    c[i]=(c[i-1]*(m-i+1))%M*quickpow((long long)i,M-2,M)%M;
                }
            }
            long long ans=0;
            for(int i=mi;i<=ma;i+=2)
            {
                ans+=c[i];
                ans%=M;
            }
            cout<<ans<<endl;
        }
        return 0;
    }
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    MySQL表的完整性约束
    MySQL支持的数据类型
    MySQL表操作
    MySQL存储引擎概述
    onblur和onkeyup事件
    Web控件LinkButton
    jQuery防止中文乱码
    jQuery 动态添加、删除css样式
    VS2012生成Web时报未能找到元数据文件xxx.dll
    单击EasyUI的datagrid行时不选中
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4616716.html
Copyright © 2011-2022 走看看