HDU 2429 Word Game(成都网络赛1002),矩阵求和

根据建立单词的邻接阵M,

A是初始矩阵1*m

所求的是B = A*(M + M3 + M5 ... + Mn)结果中(0, t)的值

 

以下是Log(n)求和的方法

S(2n) = A1 + A2 + .. A(2n-1) + A2n

       = (A1 + A2 + ... + An) + An(A1 + A2 + ... + An)

       = S(n) + AnS(n)

通过S(n)能直接求得S(2n), 至于An可以在求S(n)时保存下来,也可以用Log(n)方法计算矩阵幂

 

核心代码:

Code

 

posted @ 2008-10-21 17:22  4h  阅读(514)  评论(0编辑  收藏  举报