青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

poj3233

Matrix Power Series

Time Limit: 3000MS
Memory Limit: 131072K
Total Submissions: 10211
Accepted: 4333

Description

Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak.

Input

The input contains exactly one test case. The first line of input contains three positive integers n (n ≤ 30), k (k ≤ 109) and m (m < 104). Then follow n lines each containing n nonnegative integers below 32,768, giving A’s elements in row-major order.

Output

Output the elements of S modulo m in the same way as A is given.

Sample Input

2 2 4
0 1
1 1

Sample Output

1 2
2 3
 
題意很簡(jiǎn)單不用描述了
網(wǎng)上在推薦這題的時(shí)候可能有些誤區(qū)
網(wǎng)上說(shuō)是二分再二分,
其實(shí)是這樣的,因?yàn)橛?jì)算a^k可以二分,這是第二個(gè)二分
而第一個(gè)二分是指的對(duì)a^1+a^2+....+a^k可以分成兩半  
k是偶數(shù)時(shí)候
f[k]=(a^1+a^2+....+a^(k/2))+a^(k/2)*[a^1+a^2+....+a^(k/2)]
即 f[k]=f[k/2]+[a^(k/2)]*f[k/2]
奇數(shù)時(shí)候 
f[k]=f[k-1]+a^k
以上描述的兩次二分是第一種做法
第二種做法
運(yùn)用線性代數(shù)的
令B= A E
     0 E
那么
B^(k+1)= A^(k+1)  E+A+...A^k
         0        E
 
然后就不用多說(shuō)了
 
剛開(kāi)始想出第一種方法,覺(jué)著也不難寫 ,
然后wa到死 tle到死
一直超時(shí),那個(gè)取模那個(gè)如果不取就wa,取了就tle,真心糾結(jié)了
然后忍不了了
寫的第二個(gè)
不知道為什么還是那么長(zhǎng)時(shí)間
應(yīng)該是我寫的代碼質(zhì)量不好
#include<stdio.h>
#include
<string.h>
#include
<math.h>
#include
<iostream>
#define maxn 35*2
using namespace std;
struct node
{
    __int64 x[maxn][maxn];
    
void init()
    
{
        memset(x,
0,sizeof(x));
    }

    
void init1()
    
{
        memset(x,
0,sizeof(x));
        
for(int i=1; i<maxn; i++)
            x[i][i]
=1;
    }

}
;
node e;
int m,n,k;
void print1(node x)
{
    
for(int i=1; i<=n; i++)
    
{
        
for(int j=1+n; j<=2*n; j++)
        
{
            printf(
"%d",x.x[i][j]);
            
if(j==n*2) printf("\n");
            
else printf(" ");
        }

    }

}

node add1(node x)
{
    node tmp;
    tmp
=x;
    
for(int i=1;i<=n;i++)
    
{
        
for(int j=n+1;j<=2*n;j++)
            tmp.x[i][j]
=(tmp.x[i][j]%m+m)%m;
    }

    
for(int i=1; i<=n; i++
    tmp.x[i][i
+n]=(tmp.x[i][i+n]-1+m)%m;
    
return tmp;
}

node mul(node t1,node t2)
{
    node tmp;
    tmp.init();
    
for(int i=1; i<=2*n; i++)
        
for(int j=1; j<=2*n; j++)
        
{
            tmp.x[i][j]
=0;
            
for(int k=1; k<=2*n; k++)
            
{
                tmp.x[i][j]
=(tmp.x[i][j]+t1.x[i][k]*t2.x[k][j])%m;
            }

        }

    
return tmp;
}

node ap(node a,
int p)
{
    
int tmp;
    node x,ans;
    tmp
=p;
    ans.init1();
    x
=a;
    
while(tmp)
    
{
        
if(tmp%2==1) ans=mul(ans,x);
        tmp
=tmp/2;
        x
=mul(x,x);
    }

    
return ans;
}

int main()
{
    node a,ans,b;
    scanf(
"%d%d%d",&n,&k,&m);
    a.init();
    
for(int i=1; i<=n; i++)
        
for(int j=1; j<=n; j++)
        
{
            scanf(
"%d",&a.x[i][j]);
            a.x[i][j]
=a.x[i][j]%m;
        }

    b
=a;
    
for(int j=1; j<=n; j++)
    
{
        b.x[j][j
+n]=1;
        b.x[j
+n][j+n]=1;
    }

    ans
=ap(b,k+1);
    ans
=add1(ans);
    print1(ans);
    
return 0;
}



那個(gè)第一種方法tle,待會(huì)去優(yōu)化下代碼,應(yīng)該能過(guò)



呼,第一種方法終于過(guò)了

#include<stdio.h>
#include
<string.h>
#include
<math.h>
#include
<iostream>
#define maxn 35
#define inf 0x7fffffff
using namespace std;
struct node
{
    __int64 x[maxn][maxn];
    
void init()
    {
        memset(x,
0,sizeof(x));
    }
    
void init1()
    {
        memset(x,
0,sizeof(x));
        
for(int i=1; i<maxn; i++)
            x[i][i]
=1;
    }
};
node e;
int m,n,k;
void print(node x)
{
    
for(int i=1; i<=n; i++)
    {
        
for(int j=1; j<=n; j++)
        {
            printf(
"%d",x.x[i][j]);
            
if(j==n) printf("\n");
            
else printf(" ");
        }
    }
}
node add(node t1,node t2)
{
    node tmp;
    
for(int i=1; i<=n; i++)
        
for(int j=1; j<=n; j++)
        {
            tmp.x[i][j]
=(t1.x[i][j]+t2.x[i][j])%m;
        }
    
return tmp;
}
node mul(node t1,node t2)
{
    node tmp;
    tmp.init();
    
for(int i=1; i<=n; i++)
        
for(int j=1; j<=n; j++)
        {
            tmp.x[i][j]
=0;
            
for(int k=1; k<=n; k++)
            {
                tmp.x[i][j]
=(tmp.x[i][j]+t1.x[i][k]*t2.x[k][j]);
                
if(tmp.x[i][j]>=inf)
                {
                    tmp.x[i][j]
=tmp.x[i][j]%m;
                }
            }
            tmp.x[i][j]
=(tmp.x[i][j])%m;
        }
    
return tmp;
}
node ap(node a,
int p)
{
    
int tmp;
    node x,ans;
    tmp
=p;
    ans.init1();
    x
=a;
    
while(tmp)
    {
        
if(tmp%2==1) ans=mul(x,ans);
        tmp
=tmp/2;
        x
=mul(x,x);
    }
    
return ans;
}
node getsum(node x,
int n)
{
    
int k;
    node ans,tmp;
    k
=n;
    
if(k==1return x;
    
if (k%2==0)
    {
        tmp
=getsum(x,k/2);
        ans
=add(tmp,mul(ap(x,k/2),tmp));
    }
    
else
    {
        tmp
=getsum(x,k/2);
        ans
=add(add(tmp,mul(ap(x,k/2),tmp)),ap(x,k));
    }
    
return ans;
}
int main()
{
    node a,ans,b;
    scanf(
"%d%d%d",&n,&k,&m);
    a.init();
    
for(int i=1; i<=n; i++)
        
for(int j=1; j<=n; j++)
        {
            scanf(
"%d",&a.x[i][j]);
            a.x[i][j]
=a.x[i][j]%m;
        }
    ans
=getsum(a,k);
    print(ans);
    
return 0;
}



posted on 2012-07-22 07:02 jh818012 閱讀(109) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿

文章檔案(85)

搜索

最新評(píng)論

  • 1.?re: poj1426
  • 我嚓,,輝哥,,居然搜到你的題解了
  • --season
  • 2.?re: poj3083
  • @王私江
    (8+i)&3 相當(dāng)于是 取余3的意思 因?yàn)?3 的 二進(jìn)制是 000011 和(8+i)
  • --游客
  • 3.?re: poj3414[未登錄](méi)
  • @王私江
    0ms
  • --jh818012
  • 4.?re: poj3414
  • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
  • --王私江
  • 5.?re: poj1426
  • 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
  • --王私江
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲第一级黄色片| 99re这里只有精品6| 欧美成人国产一区二区| 国产精品揄拍500视频| 亚洲欧洲日夜超级视频| 久久久九九九九| 99re66热这里只有精品3直播| 午夜精品999| 亚洲网站视频| 午夜一区不卡| 亚洲国产精品一区二区三区| 欧美一区二视频| 国产农村妇女毛片精品久久麻豆| 一区二区日韩精品| 亚洲国产婷婷| 欧美精品二区三区四区免费看视频| 国语自产在线不卡| 久久久久久久久久久一区| 午夜精品影院在线观看| 国产精品日韩| 欧美自拍偷拍| 久久全球大尺度高清视频| 亚洲第一精品夜夜躁人人爽| 欧美黄网免费在线观看| 欧美日本精品| 午夜精品成人在线视频| 欧美尤物一区| 欧美成人亚洲成人| 一本到高清视频免费精品| 欧美三区免费完整视频在线观看| 亚洲激情六月丁香| 亚洲精品社区| 国产精品一区二区久久 | 蜜桃av久久久亚洲精品| 久久精品夜色噜噜亚洲a∨| 亚洲丰满在线| 亚洲九九精品| 国产日韩精品在线观看| 鲁大师成人一区二区三区| 免费在线日韩av| 亚洲永久在线观看| 久久精品国产999大香线蕉| 亚洲人成网在线播放| 99精品欧美一区| 国产综合欧美在线看| 亚洲激情专区| 国产欧美日韩精品在线| 美女在线一区二区| 欧美日韩国产精品一区二区亚洲| 欧美精品久久久久久久久久| 日韩视频免费| 亚洲欧美日韩在线综合| 亚洲欧洲偷拍精品| 亚洲午夜久久久| 亚洲黄页视频免费观看| 一本一本大道香蕉久在线精品| 国模吧视频一区| 99精品欧美一区二区蜜桃免费| 国内精品国产成人| 亚洲最新中文字幕| 亚洲国产精品123| 午夜精品久久久久99热蜜桃导演| 亚洲经典三级| 欧美在线观看视频一区二区| 日韩一级裸体免费视频| 久久精品国产99国产精品澳门| 亚洲免费在线视频一区 二区| 免费久久99精品国产自在现线| 欧美一区二区三区在线播放| 欧美电影在线观看完整版| 久久久欧美精品| 国产精品美女www爽爽爽| 亚洲激情校园春色| 亚洲国产一区二区a毛片| 欧美一区二区三区视频免费| 亚洲欧美春色| 欧美性猛交99久久久久99按摩| 欧美国产视频日韩| 在线观看久久av| 久久精品女人天堂| 久久精选视频| 国产综合亚洲精品一区二| 性欧美18~19sex高清播放| 午夜国产精品影院在线观看| 欧美日韩在线免费观看| 亚洲人成在线播放网站岛国| 亚洲国产精品成人va在线观看| 久久精品国产视频| 久久久不卡网国产精品一区| 国产日韩欧美麻豆| 午夜精品影院| 夜夜嗨av一区二区三区网站四季av| 日韩视频在线观看免费| 亚洲欧洲日本mm| 欧美va亚洲va日韩∨a综合色| 久久五月婷婷丁香社区| 国产一区二区三区网站| 亚洲欧美另类在线观看| 香蕉成人久久| 国产欧美一区二区三区另类精品| 一区二区动漫| 午夜精品久久久99热福利| 国产精品v日韩精品| 一区二区三区不卡视频在线观看 | 国产永久精品大片wwwapp| 午夜性色一区二区三区免费视频| 欧美一区深夜视频| 国产精品一卡| 久久av一区二区三区亚洲| 久久久久久久久久久久久女国产乱| 国产日韩在线不卡| 久久久久免费观看| 亚洲电影自拍| 在线视频一区二区| 欧美色播在线播放| 亚洲新中文字幕| 久久综合九色九九| 日韩午夜高潮| 国产精品亚洲一区| 久久理论片午夜琪琪电影网| 亚洲国产一区二区视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品一二| 免费欧美日韩| 亚洲欧美激情四射在线日| 久久尤物视频| 亚洲六月丁香色婷婷综合久久| 欧美日韩一级黄| 久久久久国产精品www| 亚洲精品视频在线看| 欧美淫片网站| 亚洲乱码久久| 国内外成人免费激情在线视频网站| 美女视频一区免费观看| 一本久久青青| 欧美成ee人免费视频| 亚洲欧美激情一区| 1769国产精品| 国产精品视频xxxx| 男同欧美伦乱| 欧美一级片在线播放| 亚洲精品一区二区三区蜜桃久| 久久久精品性| 亚洲摸下面视频| 亚洲美女av网站| 在线观看av一区| 国产伦精品免费视频| 欧美日韩精品在线观看| 欧美伊人久久大香线蕉综合69| 在线观看一区视频| 国产美女诱惑一区二区| 欧美日韩高清在线观看| 久久综合电影| 久久精品视频免费| 午夜精品久久久99热福利| 最新日韩中文字幕| 欧美电影免费观看网站| 国产精品久久99| 一区二区三区日韩欧美| 欧美高清视频一二三区| 亚洲一区二区三区中文字幕| 亚洲视频香蕉人妖| 亚洲人成精品久久久久| 国产夜色精品一区二区av| 欧美中文字幕在线播放| 亚洲视频在线二区| 欧美一区二区三区喷汁尤物| 99精品国产在热久久婷婷| 国产精品久久久久久亚洲毛片 | 久久躁狠狠躁夜夜爽| 一本色道**综合亚洲精品蜜桃冫| 久久亚洲精品伦理| 久久精品国产第一区二区三区最新章节| 一区二区三区欧美视频| 精品动漫3d一区二区三区| 国产综合色一区二区三区| 国产日韩欧美精品在线| 国产欧美一区二区三区久久| 国产精品久久久久久久9999| 欧美经典一区二区三区| 欧美精品一区在线| 欧美精品国产精品| 欧美精品1区2区3区| 欧美久久成人| 国产精品xvideos88| 国产精品免费网站| 国产日韩欧美中文在线播放| 韩国欧美一区| 亚洲激情av| 亚洲天堂成人在线观看| 亚洲一区二区免费看| 亚洲综合色视频| 欧美一区=区| 久久综合久久久| 国产丝袜美腿一区二区三区| 国产欧美日韩精品在线| 国产欧美日韩在线| 国产一区二区三区四区老人| **性色生活片久久毛片| 亚洲全部视频|