随笔分类 - 矩阵快速幂
摘要:Coloring Game 我写的复杂度是 1000 * 64 * 64 * 64 * log(1e9), 感觉这个东西是很好想的, 肯定是T了的。 其实可以优化掉一个64, 就是在转移的时候用64 * 64的矩阵和 64 * 1的答案相邻相乘, 这样就可以优化掉一个64了, 以前好像没有见过这种小
阅读全文
摘要:Product Oriented Recurrence 先化简原式子 c ^ x * f[x] = c ^ (x-1) * f[x-1] * c ^ (x-2) * f[x-2] * c ^ (x-3) * f[x-3] 及g[x] = c ^ x * f[x] g[x] = g[x-1] * g[
阅读全文
摘要:HDU - 5411 考虑直接dp会T, 用矩阵优化一下就好了。
阅读全文
摘要:Legen... 我们能很容易写出在AC自动机上的dp, dp[ k ][ i ][ j ]表示走了 k 步从 i 走到 j 的最大值。 k 很大我们考虑矩阵优化, 直接搞就好啦。 不知道为什么在本机上M * M * M * M **** * M 打多了就会卡死不知道为什么。。。
阅读全文
摘要:Flights for Regular Customers 临接矩阵的 k 次 就是 恰好 走 k 步从 i 走到 j 的方案数, 方案数在这里并不关键, 所以可以把它变成01矩阵。 一个很直观的想法是用二分取check它, 但是这并不单调。。 然后就不会了。。 我们可以把G[ n - 1] [ n
阅读全文
摘要:Darth Vader and Tree 感觉是个很裸的矩阵快速幂, 搞个100 × 100 的矩阵, 直接转移就好啦。
阅读全文
摘要:GukiZ and Binary Operations 显然我们要拆位, 因为每位都独立, 然后问题就变成能用dp求的东西,然后用矩阵快速幂优化一下。 注意mod为1的情况。
阅读全文
摘要:思路:因为鱼的周期为2, 3, 4, 所以以12个为周期,我们拿走12步得到的矩阵进行快速幂,余下的再进行一次矩阵乘法。
阅读全文
摘要:思路:不能走走过来的路,变点交换跑矩阵快速幂。
阅读全文
摘要:思路:首先我们先了解一个性质, 对于一个邻接矩阵 edge 来说, (edge^t)[ i ][ j ] 表示走t次能从i 到 j 的路径条数,但是 这道题里面不是邻接矩阵,所以我们要拆点变成邻接矩阵然后矩阵快速幂。
阅读全文
摘要:推一推矩阵直接快速幂。
阅读全文
摘要:1 struct Matrix 2 { 3 int a[3][3]; 4 Matrix() 5 { 6 memset(a,0,sizeof(a)); 7 } 8 void init() 9 { 10 for(int i=0;i>=1; 33 } 34 return r...
阅读全文
摘要:题目大意:有m (m<=1e9) 个相同的块,每个块里边有n个数,每个数的范围是1-9,从每个块里边取出来一个数组成一个数,让你求组成的方案中 被x取模后,值为k的方案数。(1<=k<x<=100) 思路:刚开始把m看成了1e5,写了一发数位dp,果断RE,然后我在考虑从当块前状态转移到下一个块状态
阅读全文