目录

转移矩阵求解套路

常见转移矩阵1-斐波那契矩阵

承接套路

常见转移矩阵2-类斐波那契数列

常见转移矩阵3-幂常数

前缀和

具体DP问题


---------------------------------------------------------------------------------------------------------------------------------

网上大部分讲解都是停留在快速幂的模板和求解斐波那契数列上,但矩阵快速幂的应用远不及此,且难点在于转移矩阵的构造,而且会结合具体DP问题来构造转移矩阵。

答案的求解包括三个矩阵 答案矩阵 = 转移矩阵 * 初始矩阵

  • 转移矩阵求解套路

重点在于转移矩阵的求得,套路是,找到转移方程,由特殊到一般,考虑承接

  • 常见转移矩阵1-斐波那契矩阵

找到转移方程

可知,要想求解f[n],必须知道f[n-1],f[n-2]

考虑特殊情况f[n]

得初始矩阵

答案矩阵(f(n)处于(1,1)位置,故是转移矩阵的第一行乘上初始矩阵的第一列)

转移矩阵

得到特殊矩阵

考虑承接

考虑到我们即使我们本次求得了f(n),但是我们不得不为下一次f(n+1)的求解做准备,因此我们需要承接上次求解的f(n-1),如何求解,很容易,f(n-1)在(2,1)位置,只需要转移方程第二行乘上初始方程等于f(n-1)即可,

特殊到一般

对转移方程进行快速幂,把初始方程变成普通dp时最初状态,在斐波那契中的dp解法中,我们只需要先知道dp[0]=0,dp[1]=1即可。转移方程的幂数是n-1

当然,也完全可以这样,

承接套路

值得注意的是,这种承接方式在大多数题目中都适用,也就是将二行往后的每行i,(i,i-1)位置填上1,其余位置填上0即可。

常见转移矩阵2-类斐波那契数列

主要是一些含有常数系数的

第一行换系数,第二行往后考虑承接即可

常见转移矩阵3-幂常数

按照第一类时的套路,求fn,无非就是要知道fn-1,与n^2

可是我们发现,要求出(n+1)^2,靠n^2是远远不够的

(n+1)^2=n^2+1+2*n  ,我们还应该知道n,和常数1

n+1)^2被推了出来,还要考虑本次能供fn+1使用,因此还应该加上n+1,与常数1

然后特殊化一般,利用快速幂求解即可。

其余更高次幂常数,利用二项式定理

n^3 = (n-1+1)^3 = (n-1)^3 + 3*(n-1)^2 +   3*(n-1)  + 1

n^4  =(n-1+1)^4 = (n-1)^4  + 4*(n-1)^3  + 6*(n-1)^2 + 4*(n-1)  + 1

.......以此类推

n^3为例

前缀和

T[0]=T[1]=T[2]=1;

T[N]=T[N-1]+T[N-2]+T[N-3]

求解  T[A]+T[A+1]+...+T[B]

也就是要构造前缀和sb,sa-1

可以先求出sn

sn=tn+sn-1

这里的tn的构造方式就是一个类菲波那切数列的构造方式

考虑承接即可

具体DP问题

P5343 【XR-1】分块-矩阵快速幂加速DP_石油生产队里的秦三的博客-CSDN博客

(详解)矩阵快速幂详解与常见转移矩阵的构造相关推荐

  1. 数学--矩阵快速幂详解

    引导: 我们之前都学快速幂: 矩阵也是可以相乘,方阵可以自乘,即乘幂运算. 作用: 将线性递推,优化log2nlog_{2}nlog2​n 模板: 定义矩阵的阶 const int len = 15; ...

  2. 矩阵快速幂详解--用矩阵幂解决的多种问题

    最经典的题目 以及洛谷一大堆相似题斐波那契升级版,广义斐波那契等等,都是相关的题目.一般而言我们求解斐波那契无非是不断地向前迭代,但是这样的效率实在是太低了.对于nnn的规模如此之大的题目应该如何求解 ...

  3. 快速幂和矩阵快速幂详解+模板

    1.快速幂 一般的,我们都知道求只需要连续乘3次2就能得到,那么等于多少呢?其实这个一很简单,不就是13个2相乘吗,连续乘13次2就行了.那么,呢? 是不是要连续乘100次.1000次,我们将这类问题 ...

  4. c语言求佩尔方程的解设计思路,c语言版 佩尔方程求最小正整数解及第k解(矩阵快速幂)...

    佩尔方程讲解连接: 若一个丢番图方程具有以下的形式: 且 为正整数,则称此方程为佩尔方程(英文:Pell's equation 德文:Pellsche Gleichung) 若 是完全平方数,则这个方 ...

  5. (矩阵快速幂)解所有类似Fibonacci 的题目

    Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. F ...

  6. 矩阵快速幂+动态规划=蓝桥杯 垒骰子

    矩阵快速幂+动态规划=蓝桥杯 垒骰子 如果还不知道什么是矩阵快速幂,可以参加我的另一篇文章:矩阵快速幂详解 题目 分析 看到 nnn 的范围达到了 10910^{9}109 ,如果使用暴力搜索是不现实 ...

  7. Recursive sequence HDU - 5950 (递推 矩阵快速幂优化)

    题目链接 F[1] = a, F[2] = b, F[i] = 2 * F[i-2] + F[i-1] + i ^ 4, (i >= 3) 现在要求F[N] 类似于斐波那契数列的递推式子吧, 但 ...

  8. UVA10689 Yet another Number Sequence【数列+矩阵快速幂】

    Let's define another number sequence, given by the following function: f(0) = a f(1) = b f(n) = f(n ...

  9. 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)

    杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 传送门 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 矩阵快速幂模板 Count Problem Descript ...

最新文章

  1. 智能计算机科学的奠基人,【编注】神经网络算法奠基人之一沃尔特·皮茨的传奇故事...
  2. getopts命令行参数处理
  3. tombstone问题分析
  4. [leetcode] 144. 二叉树的前序遍历
  5. 自定义EventSource(一)EventCounter
  6. css模糊_如何使用CSS模糊图像?
  7. CentOS6.5下的Nagios安装配置详解(图文)
  8. Linux IP别名,接口绑定,多网卡绑定
  9. IDEA开发WebService遇到的问题和SOAPUI工具的使用
  10. 15. jQuery - 删除元素
  11. 你的项目应该如何分层?
  12. CSS实现左侧固定大小,右侧自适应的布局
  13. 管理感悟:工作计划的作用
  14. Atitit 常见每日流程日程日常工作.docx v7 r8f
  15. How to Become a Better Learner
  16. 【时间序列】DTW算法详解
  17. PSD是什么文件格式
  18. ie11启用java时打不开_ie11打不开解决方法
  19. 利用stylecloud制作更酷炫的词云图
  20. 【基操】word插入的表格无法修改列宽

热门文章

  1. 分子骨架跃迁工具3DLinker 评测
  2. it项目验收--流程
  3. MFC打开已有的excel文件,并编辑,保存
  4. 如何写一个完整的django网站:配置环境啥的不讲(python+mysql+html相关) 壹
  5. 页面引入百度API报警示问题 A Parser-blocking, cross site (i.e. different eTLD+1) script,
  6. SAP SD模块中POD功能使用方法
  7. iOS小技能:蓝牙打印商品价签和交易小票的模版,实现自动连接最近使用的打印机 (针对佳博GP-2120TU型号为例子进行展开) 【包含完整demo源码】
  8. deepin 安装ZOOKEEPER
  9. 手机html立体相册,照片还放手机相册里就out了,试着自己编辑一个立体相册
  10. 2020华科软件学院 软件体系结构考试回忆