[数学]矩阵总结

来源:互联网 发布:贝叶斯分类算法 编辑:程序博客网 时间:2024/05/16 12:02

矩阵总结

By Wine93 2013.7



1.学习资料



2. 矩阵最常见的5个作用

1. 求线性递推第n   (POJ  3070 HDU 1757)

2. 已经线性递推式,求递推式中任意区间内的和,解这类题目有2种方法    (POJ 3233 非常经典的一题)

a) 递推式中的每一项相当于一个矩阵幂,求项和就相当于求矩阵幂和,而求矩阵幂和,又可以2分   (HDU 1588)

b) 在矩阵上加上一维记录和  S(n)=S(n-1)+f(n) 在求f(n)的时候顺便把s(n)也求出来了  (FZU 1683)

3. 对一系列数进行各种变换(加,减,乘,除,交换,异或,与等等....) (POJ 3735 HDU 2276)

4. 求a->b恰好走k步的的方案数 (HDU 2157)

5. 状态转移(灵活,设计好状态即可 (HDU 2604)


3.矩阵最常见的2个优化:

1. 循环矩阵优化 (POJ 3150 HDU 2276)

循环矩阵:本行的每一项都是右上一行的每一项右移一个位置得到

        Ex:  1 0 0 0 1

               1 1 0 0 0

               0 1 1 0 0

               0 0 1 1 0

               0 0 0 1 1

       (如上,就是个循环矩阵)

根据循环矩阵的性质,循环矩阵乘以循环矩阵还是循环矩阵,所以我们在计算时,只要计算出第一行,就可以递推得到整个矩阵,所以可以将复杂度从O(n^3)降到O(n^2)

2. 无效元素(0元素)的去除 (POJ 3735)

在做题中会发现矩阵中出现大量的0元素,而这些元素在矩阵乘的时候是不发挥任何作用的,所以我们可以跳过这些0元素(通过改变乘的顺序)



4.经典例题讲解

1.HDU 1757 A Simple Math Problem 题解link

2.POJ 3233 Matrix Power Series      题解link

3.HDU 1588 Gauss Fibonacci         题解link

4.FZU 1588 纪念SlingShot                题解link

5.HDU 2276 Kiki & Little Kiki 2             题解link

6.HDU 2157 How many ways??         题解link

7. POJ 3420 Quad Tiling                        题解link


5.其余题目

HDU 3483 A Very Simple Problem   (构造十分巧妙)

HDU 2855 Fibonacci Check-up  (构造十分巧妙)

HDU 4549 M斐波那契数列 (A^B%C=A^( B%phi(c)+phi(c)) %C     B>=phi(c))

ZJU 2853 2974 3497 (历年浙江省省赛矩阵题,好题)





0 0