• hdu 5793 A Boring Question (快速幂+逆元)(规律题)


    官方推导公式:

    0k1,k2,kmn1j<m(kjkj+1) =sum_{0leq k_{1}leq k_{2}leqcdots leq k_{m}leq n}prod_{1leq j< m}inom{k_{j+1}}{k_{j}}

    =0k1k2kmn1j<m(kjkj+1) =sum_{k_{m}=0}^{n}sum_{k_{m-1}=0}^{k_{m}}cdots sum_{k_{1}=0}^{k_{2}}prod_{1leq j< m}inom{k_{j+1}}{k_{j}}

    =km=0nkm1=0kmk1=0k21j<m(kjkj+1) =sum_{k_{m}=0}^{n}left { inom{k_{m}}{k_{m-1}} sum_{k_{m-1}=0}^{k_{m}} left { inom{k_{m-1}}{k_{m-2}} cdots sum_{k_{1}=0}^{k_{2}}inom{k_{2}}{k_{1}} ight } ight }

    =km=0n{(km1km)km1=0km{(km2km1)k1=0k2(k1k2)}}

     =sum_{k_{m}=0}^{n}left { inom{k_{m}}{k_{m-1}} sum_{k_{m-1}=0}^{k_{m}} left { inom{k_{m-1}}{k_{m-2}} cdots sum_{k_{1}=0}^{k_{2}}inom{k_{2}}{k_{1}} ight } ight }=km=0n{(km1km)km1=0km{(km2km1)k1=0k2(k1k2)}} =sum_{k_{m}=0}^{n}left { inom{k_{m}}{k_{m-1}} sum_{k_{m-1}=0}^{k_{m}} left { inom{k_{m-1}}{k_{m-2}} cdots sum_{k_{2}=0}^{k_{3}}inom{k_{3}}{k_{2}}2^{k_{2}} ight } ight }

    =km=0n{(km1km)km1=0km{(km2km1)k2=0k3(k2k3)2k2}} =sum_{k_{m}=0}^{n}m^{k_{m}}

    =km=0nmkm =frac{m^{n+1} - 1}{m - 1}

    =m1mn+11

    自己找的规律是求:ans=m^0+m^1+m^2+...+m^n,也就是等比数列的前n+1项和

    /*by*/
    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    typedef long long LL;
    const LL N=2010;
    const LL mod=1000000007;
    const LL INF=0x3f3f3f;
    LL quickpow(LL m, LL n)
    {
        LL b = 1;
        while(n > 0) {
            if(n & 1)
                b = (b * m) % mod;
            n = n >> 1 ;
            m = (m * m) % mod;
        }
        return b;
    }
    int main()
    {
        int T;
        cin>>T;
        while(T--) {
            LL n,m;
            scanf("%lld%lld",&n,&m);
            LL ans=0;
            ans=quickpow(m,n+1)-1;
            ans=ans*quickpow(m-1,mod-2)%mod;/*求逆元*/
            printf("%lld
    ",ans%mod);
        }
        return 0;
    }
  • 相关阅读:
    Mysql多表关系
    Linux权限
    Linux安装python环境脚本
    ZJNU 2136
    ZJNU 2135
    ZJNU 2133
    ZJNU 1699
    ZJNU 1542
    ZJNU 1538
    ZJNU 1535
  • 原文地址:https://www.cnblogs.com/yu0111/p/5740013.html
Copyright © 2020-2023  润新知