zoukankan      html  css  js  c++  java
  • 举行加速

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #include<stack>
    #define M 31
    #define ll long long 
    
    using namespace std;
    struct mat{
        ll  s[M][M];
    }l,A,B,C;
    int n,m,mod;
    mat II_MAT(int x)
    {  for(register int j=0;j<x;j++)
        for(register int i=0;i<x;i++)
        {
            l.s[j][i]=0;
        }
        return l;
    }
    mat operator *(mat A,mat B)
    {     
        for(register int i=0;i<n;i++)
        {
            for(register int j=0;j<n;j++)
            {
               C.s[i][j]=0;
                for(register int k=0;k<n;k++)
                 C.s[i][j]=((A.s[i][k]*B.s[k][j])%mod+C.s[i][j])%mod;
                
            }
        }
        return C;
    }
    mat operator +(mat A,mat B)
    {   
         C=A;
        for(register int i=0;i<n;i++)
        {
            for(register int j=0;j<n;j++)
            {
                C.s[i][j]=(C.s[i][j]+B.s[i][j])%mod;
            }
        }
        return C;
    }
    mat ans;
    int p,kai;
    int main(){
        scanf("%d",&m);
        while(m--)
        {
          scanf("%d",&n);
          A=II_MAT(n); ans=II_MAT(n);
         for(register int i=n-1;i>=0;i--)
            {
            scanf("%d",&ans.s[0][i]);
           }    
          for(register int i=0;i<n;i++)
            scanf("%d",&A.s[i][0]);
          for(register int i=0,j=1;j<n;i++,j++)
             A.s[i][j]=1;
             scanf("%d%d%d",&kai,&p,&mod);
             for(register int i=0,j=n-1;j>=0;i++,j--)
            {
                 sum[i+1]=(sum[i-1]+ans.s[0][j])%mod;
           }
            if(p<=n)
           printf("%d\n",(sum[p]-sum[kai-1]+mod)%mod); // -1 guan jian
           else
           {
                p=p-n;
               while(p)
               {
                   if(p&1) ans=ans*A;
                   p=p/2;
                   A=A*A;
               }
              printf("%d\n",ans.s[0][0]%mod); 
           }
       }
        
    
    }
  • 相关阅读:
    网络爬虫的基本原理(一)
    灵光一闪-软件应用
    sql语句变量定义和样例
    windows+linux环境部署搭建
    jdk1.6安装
    系统部署
    tomcat部署
    maven各种插件在总结
    maven项目tomcat部署问题
    两种数据源
  • 原文地址:https://www.cnblogs.com/Lamboofhome/p/11704415.html
Copyright © 2011-2022 走看看