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

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數(shù)據(jù)加載中……

POJ 3150 Cellular Automaton 矩陣乘法+二分

這題對我來說太難啦,看了報告半天才弄明白是咋回事。
高手們的解題報告相當(dāng)飄逸。我來寫一個造福菜鳥的。

首先來看一下Sample里的第一組數(shù)據(jù)。
1 2 2 1 2
經(jīng)過一次變換之后就成了
5 5 5 5 4
它的原理就是
a0 a1 a2 a3 a4
->
(a4+a0+a1) (a0+a1+a2) (a1+a2+a3) (a2+a3+a4) (a3+a4+a0)

如果用矩陣相乘來描述,那就可以表述為1xN和NxN的矩陣相乘,結(jié)果仍為1xN矩陣
a = 1 2 2 1 2
b =
1 1 0 0 1
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
1 0 0 1 1
a * b = 5 5 5 5 4
所以最終結(jié)果就是:a * (b^k)

線性代數(shù)不合格的同鞋表示壓力很大。。

對一個NxN矩陣求k次方,而且這個k很大,N也不小,怎么辦?
所以有高手觀察到了,這個矩陣長得有點(diǎn)特殊,可以找到一些規(guī)律:
b^1 =
[1, 1, 0, 0, 1]
[1, 1, 1, 0, 0]
[0, 1, 1, 1, 0]
[0, 0, 1, 1, 1]
[1, 0, 0, 1, 1]
b^2 =
[3, 2, 1, 1, 2]
[2, 3, 2, 1, 1]
[1, 2, 3, 2, 1]
[1, 1, 2, 3, 2]
[2, 1, 1, 2, 3]
b^3 =
[7, 6, 4, 4, 6]
[6, 7, 6, 4, 4]
[4, 6, 7, 6, 4]
[4, 4, 6, 7, 6]
[6, 4, 4, 6, 7]
b^4 =
[19, 17, 14, 14, 17]
[17, 19, 17, 14, 14]
[14, 17, 19, 17, 14]
[14, 14, 17, 19, 17]
[17, 14, 14, 17, 19]

發(fā)現(xiàn)神馬沒有。就是無論是b的幾次冪,都符合A[i][j] = A[i-1][j-1]
高手說是這樣推倒出來地:
““”
利用矩陣A,B具有a[i][j]=A[i-1][j-1],B[i][j]=B[i-1][j-1](i-1<0則表示i-1+n,j-1<0則表示j-1+n)
我們可以得出矩陣C=a*b也具有這個性質(zhì)
C[i][j]=sum(A[i][t]*B[t][j])=sum(A[i-1][t-1],B[t-1][j-1])=sum(A[i-1][t],B[t][j-1])=C[i-1][j-1]
“”“

這樣就可以開一個N大小的數(shù)組來存放每次計算的結(jié)果了。而沒必要用NxN。
N的問題解決了,但是k還是很大,怎么辦?

這時候可以用二分法來求b^k
b^k = b^1 * b^4 * b^16 。。。

計算過程中,必定會出現(xiàn)數(shù)字大于M的情況。
切記 x*y = (x%M)*(y%M)

最后,經(jīng)過多次優(yōu)化,這題的代碼居然被高手寫成了如下的一小坨,實(shí)在是。。給力哇

#include<iostream>
using namespace std;
int n,m,d,k;
void mul(long long a[],long long b[])
{
      
int i,j;
      
long long c[501];
      
for(i=0;i<n;++i)for(c[i]=j=0;j<n;++j)c[i]+=a[j]*b[i>=j?(i-j):(n+i-j)];
      
for(i=0;i<n;b[i]=c[i++]%m);                     
}
long long init[501],tmp[501];
int main()
{
    
int i,j;
    scanf(
"%d%d%d%d",&n,&m,&d,&k);
    
for(i=0;i<n;++i)scanf("%I64d",&init[i]);
    
for(tmp[0]=i=1;i<=d;++i)tmp[i]=tmp[n-i]=1;
    
while(k)
    {
            
if(k&1)mul(tmp,init);
            mul(tmp,tmp);
            k
>>=1;     
    }
    
for(i=0;i<n;++i)if(i)printf(" %I64d",init[i]);else printf("%I64d",init[i]);
    printf(
"\n");
    
return 0;
}




posted on 2011-02-08 16:07 糯米 閱讀(3232) 評論(3)  編輯 收藏 引用 所屬分類: POJ

評論

# re: POJ 3150 Cellular Automaton 矩陣乘法+二分  回復(fù)  更多評論   

學(xué)習(xí)一下
2011-02-11 16:16 | 水星家紡

# re: POJ 3150 Cellular Automaton 矩陣乘法+二分  回復(fù)  更多評論   

lz給力,轉(zhuǎn)走了
2011-08-23 15:02 | Nonesome

# re: POJ 3150 Cellular Automaton 矩陣乘法+二分  回復(fù)  更多評論   

大仙的程序看不懂╭(;?д?)╮
2014-01-09 20:48 | llq
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            9l视频自拍蝌蚪9l视频成人| 一区二区三区精密机械公司 | 欧美日韩国产一区| 日韩一级大片在线| 日韩视频在线免费观看| 国产精品高潮呻吟久久| 校园春色综合网| 久久成人久久爱| 亚洲国产精品成人综合色在线婷婷| 亚洲激情成人网| 欧美日本视频在线| 久久国产一区二区| 免费亚洲一区| 亚洲欧美久久久| 久久精品国产v日韩v亚洲| 最新成人av网站| 亚洲午夜免费视频| 在线欧美日韩国产| 一本色道久久综合亚洲精品不| 国产精品美女久久久久av超清| 久久综合网络一区二区| 欧美伦理视频网站| 欧美一区在线直播| 女仆av观看一区| 欧美一区二区精美| 欧美成人亚洲成人| 久久精品夜色噜噜亚洲a∨| 欧美1区2区视频| 欧美一区=区| 欧美日韩国产电影| 老司机午夜免费精品视频| 欧美日韩综合| 亚洲电影专区| 国产亚洲亚洲| 99精品视频免费观看| 伊人影院久久| 性8sex亚洲区入口| 一区二区三欧美| 久久一区二区三区av| 性色av一区二区三区红粉影视| 欧美国产激情| 老司机一区二区三区| 国产精品一区二区三区成人| 欧美激情在线狂野欧美精品| 国产色产综合产在线视频| 一本一本久久a久久精品综合麻豆| 激情久久久久久| 亚洲欧美视频在线观看视频| 亚洲网站啪啪| 欧美国产日韩xxxxx| 久久综合激情| 欧美激情一区二区三区不卡| 午夜亚洲性色福利视频| 亚洲电影av| 久久国产免费| 久久精品国产亚洲精品| 国产精品久久久久久一区二区三区 | 欧美成人一品| 欧美成人综合一区| 伊人精品在线| 久久精品国产在热久久| 久久精品亚洲精品| 国产日韩在线看片| 午夜精品一区二区在线观看 | 亚洲精品五月天| 蜜臀99久久精品久久久久久软件| 久久久欧美精品sm网站| 国内精品亚洲| 久久久久久噜噜噜久久久精品| 久久久久免费视频| 一区二区三区中文在线观看| 久久婷婷一区| 欧美激情久久久久久| 亚洲精品护士| 欧美午夜激情视频| 9色国产精品| 欧美一区国产在线| 国产日韩精品一区| 久久久久久亚洲精品杨幂换脸| 久久尤物电影视频在线观看| 亚洲第一精品夜夜躁人人爽| 欧美成人亚洲| 亚洲一区二区不卡免费| 欧美一区二区三区播放老司机| 国产日韩一区二区三区在线播放 | 亚洲一区二区影院| 久久精品一区| 亚洲精品久久久一区二区三区| 欧美日产在线观看| 亚洲永久在线| 欧美成人四级电影| 亚洲综合色在线| 国产中文一区二区三区| 欧美h视频在线| 中文在线不卡视频| 久久综合伊人77777蜜臀| 亚洲精品男同| 国产精品一区久久久久| 美女性感视频久久久| 亚洲一区精品电影| 久久躁狠狠躁夜夜爽| 一区二区三区产品免费精品久久75| 国产精品视频精品视频| 久久综合九色| 亚洲一区二区欧美日韩| 免费看成人av| 欧美一区二区三区免费视| 在线看视频不卡| 国产精品卡一卡二卡三| 久久另类ts人妖一区二区| 中文亚洲字幕| 亚洲国产婷婷综合在线精品| 久久精品中文字幕免费mv| 亚洲美女精品一区| 国产一区在线看| 国产精品久久婷婷六月丁香| 欧美成年人视频| 久久精品一区二区三区四区| 亚洲一区二区黄| 亚洲人线精品午夜| 欧美高清在线观看| 久久精品国产免费观看| 亚洲视频视频在线| 亚洲精品久久久久久久久| 韩国av一区| 国产一区二区高清视频| 国产精品一区二区三区久久久| 欧美日韩国产探花| 欧美激情第六页| 美腿丝袜亚洲色图| 老司机精品视频一区二区三区| 欧美一级久久久| 香蕉久久a毛片| 亚洲小说春色综合另类电影| 日韩视频精品在线| 亚洲精品欧美| 亚洲美女av黄| 日韩网站在线看片你懂的| 亚洲日韩中文字幕在线播放| 欧美成人在线免费观看| 另类尿喷潮videofree | 午夜精品久久久久久久男人的天堂 | 久久亚洲精选| 久久在线91| 欧美va亚洲va香蕉在线| 欧美电影免费| 欧美精品福利在线| 欧美日韩在线免费| 国产精品美腿一区在线看| 国产精品欧美久久| 国产欧美日韩综合| 国产免费成人| 国内外成人在线视频| 狠狠久久婷婷| 亚洲日本中文字幕免费在线不卡| 亚洲人成在线播放| 一本色道久久综合亚洲精品不| 中日韩美女免费视频网址在线观看 | 美女在线一区二区| 蜜臀91精品一区二区三区| 亚洲大片在线观看| 亚洲精品女av网站| 最新国产の精品合集bt伙计| 亚洲黄色有码视频| 中日韩高清电影网| 久久久久久**毛片大全| 欧美电影免费观看高清| 国产精品久久久久久久久搜平片| 国产欧美日韩精品a在线观看| 在线播放日韩专区| 一区二区三区国产在线| 久久精品日韩| 亚洲黄色片网站| 亚洲一区二区在线看| 久久影视精品| 国产精品国产三级国产a| 激情五月婷婷综合| 99这里只有久久精品视频| 欧美自拍偷拍| 最新国产乱人伦偷精品免费网站| 亚洲一区二区高清视频| 久热国产精品| 国产精品自在线| 亚洲久久成人| 久久这里只有| 亚洲视频一区在线| 久久免费视频一区| 国产精品久久999| 亚洲另类在线一区| 久久精品30| 亚洲美女视频网| 久久欧美中文字幕| 国产精品日韩一区二区三区| 亚洲精品美女在线观看| 久久精品亚洲热| 日韩亚洲视频| 欧美电影免费观看高清完整版| 国产麻豆午夜三级精品| 一区二区av| 亚洲第一页在线|