摘要:
http://poj.org/problem?id=3233 矩阵快速幂的题,求ΣA^i(1≤i≤k)的矩阵并输出。将它二分,用快速幂的方法来O(nlogn)的复杂度完成计算。代码如下:View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 6 using namespace std; 7 typedef int ll; 8 const int matSize = 31; 9 const int stdMod 阅读全文
摘要:
http://poj.org/problem?id=3735 矩阵快速幂的题。表示yy了很长一段时间才想到怎么构造矩阵。。。。不过过了sample以后就1y了! 简单的说一下构造的方法:一个原始矩阵(代码里面的Base)只用到第一行。前面n个表示的是每只猫拥有的食物,因为刚开始的时候所有猫都是没有食物的,所以全部设置为0。紧接着的n个数表示的是每一个循环里食物数量的改变值。然后就是每个循环的操作,也就是代码里的op矩阵。这个矩阵是这样设置的,初始化的时候,分成四块,其中有三块矩阵是单位矩阵。然后,对于每一个题目要求的操作,食物加一就是Base矩阵后半部分相应位置加一,食物交换就是op矩阵相.. 阅读全文