矩阵加速学习笔记
1|0矩阵加速
矩阵加速主要是把 DP 的转移写成矩阵的形式,然后用矩阵快速幂优化。
可以用矩阵快速幂优化要求矩阵的运算是满足有结合律的,常用的
还有一些特殊技巧,比如多组询问时可以预处理幂次的矩阵然后查询时直接用行向量来乘,以及存在矩阵光速幂。
1|1P4223 期望逆序对
题意:给一个排列,求随机交换
思路:把期望乘上总方案数后就是对逆序对数计数,于是我们考虑每一对
然后就是大分讨。
1|2P4007 小 Y 和恐怖的奴隶主
题意:有一个只有
思路:设
1.
2.
①
②
3.
①
②
然后就可以快速幂了。但是这样是
1|3P6573 [BalticOI 2017] Toll
题意:有向图,给定
思路:一开始以为是双向边,感觉不可做,结果是单向边。
首先可以把所有点分成
1|4P4102 [HEOI2014] 林中路径
思路:没想到必须要维护 3 个矩阵。。。
维护 3 个矩阵,分别表示路径长度的 0,1,2 次方和。考虑倍增求
1|5P2012 拯救世界2
题意:有 12 种元素,其中有 4 种只能出现偶数次,4 种只能出现奇数次,求排列
思路:究极矩阵快速幂优化。
首先是暴力的状压,用来压后 8 种的情况,然后分析出来其实值只与其中 1 的个数有关,于是状态就是
但是因为有多组询问,于是考虑矩阵光速幂,即每 65536 一组,这样最终只用 4 次。
因为我们要求的是转移矩阵乘上一个只有第一个元素是 1 的列向量,相当于就是矩阵中某一个固定的位置,于是可以就可以拆成
1|6P2106 Sam数
题意:求有多少个
思路:矩阵快速幂优化 DP。
其实不难,就是设
1|7P3702 [SDOI2017] 序列计数
题意:求有多少长为
思路:首先,我们只关心一个数在模
现在的问题就是怎么处理质数的情况。可以简单容斥,用所有数的情况减去只用非质数的情况,这样就可以解决了。
复杂度
1|8P3193 [HNOI2008] GT考试
题意:求有多少个
思路:设
我们发现这就是矩阵乘法的形式,于是直接矩阵快速幂优化就可以了。
复杂度
__EOF__

本文链接:https://www.cnblogs.com/Xttttr/p/18015110.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】