• BZOJ 3240 矩阵游戏


    矩阵不要乱用欧拉定理。。。。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define mod 1000000007
    #define maxn 1000050
    using namespace std;
    char n[maxn],m[maxn];
    long long n1,n2,m1,m2,k,k1,k2,a,b,c,d,ans;
    long long f_pow(long long a,long long b)
    {
        long long base=a,ans=1;
        while (b)
        {
            if (b&1) ans=(ans*base)%mod;
            base=(base*base)%mod;
            b>>=1;
        }
        return ans;
    }
    long long inv(long long a)
    {
        return f_pow(a,mod-2);
    }
    long long ask(long long k1,long long k2)
    {
        if (k1==1) return n1*k2%mod+1;
        return (f_pow(k1,n2)+(f_pow(k1,n2)-1+mod)%mod*inv(k1-1)%mod*k2%mod)%mod;
    }
    void work1()
    {
        m1=(m1-1+mod)%mod;
        k1=c;k2=b*c%mod*m1%mod+d;k2%=mod;
        ans=ask(k1,k2);
        ans=(ans-d+mod)%mod*inv(c)%mod;
    }
    void work2()
    {
        m2=(m2-2+mod)%(mod-1);
        k1=f_pow(a,m2)*c%mod;k2=b*c%mod*((f_pow(a,m2)-1+mod)%mod)%mod*inv(a-1)%mod+d;
        ans=ask(k1,k2);
        ans=(ans-d+mod)%mod*inv(c)%mod;
    }
    int main()
    {
        long long l;
        scanf("%s",n);l=strlen(n);
        for (long long i=0;i<l;i++)
        {
            n1=(n1*10+n[i]-'0')%mod;
            n2=(n2*10+n[i]-'0')%(mod-1);
        }
        scanf("%s",m);l=strlen(m);
        for (long long i=0;i<l;i++)
        {
            m1=(m1*10+m[i]-'0')%mod;
            m2=(m2*10+m[i]-'0')%(mod-1);
        }
        scanf("%lld%lld%lld%lld",&a,&b,&c,&d);
        if (a==1) work1();
        else work2();
        printf("%lld
    ",ans);
        return 0;
    }
  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/6370527.html
Copyright © 2020-2023  润新知