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); 
           }
       }
        
    
    }
  • 相关阅读:
    BZOJ 1176: [Balkan2007]Mokia
    BZOJ 4034: [HAOI2015]T2
    BZOJ 4031: [HEOI2015]小Z的房间
    BZOJ 4128: Matrix
    JSP学习-08-JavaBean
    JSP学习-标准标签库
    电影剧本写作基础
    JSP学习-09-自定义标签
    JSP学习-07Cookie 与Session
    JSP学习-06过滤器
  • 原文地址:https://www.cnblogs.com/Lamboofhome/p/11704415.html
Copyright © 2011-2022 走看看