数学-矩阵递推
文章平均质量分 81
leodestiny
这个作者很懒,什么都没留下…
展开
-
HDU 4920 Matrix multiplication
题意:很简单,给出两个矩阵,求原创 2014-08-05 21:11:03 · 448 阅读 · 0 评论 -
HDU 4686 Arc of Dream 矩阵快速幂
题意:根据题目给出的公式,求最后的结果。 思路:看到递推,就去想矩阵快速幂吧。首先要把AoD(n) = AoD(n-1) + an-2 * bn-2 * AX * BX + an-2 * AX * BY + bn-2 * AY * BX + AY * BY; 可以看到,每次递推需要的项有 AoD, an * bn, an,bn. 这样,我们构造矩阵原创 2015-01-25 21:26:10 · 431 阅读 · 0 评论 -
POJ 3420 Quad Tiling 线性递推 矩阵快速幂
题意:给出一个4 * N的方格。用1 * 2的格子去填充,问有方案数。 思路:以前做过填充格子的轮廓线DP。但是因为N 但是注意到所有格子都是可以放1*2的格子的,而不是像其他的题有某些障碍,是没有办法放置。 类比轮廓线DP的思路,我们可以以一行为转移单位。枚举前一行的所有可能的情况,对于每种情况,将没有填满的空填满。这样就转移到了下一行,继续进行上面原创 2015-01-26 17:01:03 · 924 阅读 · 0 评论 -
POJ 3734 Blocks 线性递推 矩阵快速幂
题意:有大小为1*N的格子,要给每个格子涂上红、蓝、绿、黄四种颜色。要求红色和绿色的格子的数目都是偶数。求最终的方案数。 思路:因为要求方案数,我们考虑是否是DP。因为N 首先想到的是,黄色和蓝色是不影响红色和绿色填涂的。经过尝试,我们发现用ai:红色和绿色的格子都为偶数,bi:红色和绿色的格子一个为奇数一个为偶数,ci:红色和绿色的格子都是奇数个。原创 2015-01-26 16:17:03 · 563 阅读 · 0 评论 -
POJ 2118 Firepersons 线性递推 矩阵快速幂
题意:给出an的通项公式,计算ai。 思路:裸的矩阵快速幂。按照给出的公式构造就可以了。 注意:在i #include #include #include using namespace std; typedef long long ll; typedef vector vec; typedef vector mat; const int MOD = 10000; mat m原创 2015-01-26 16:11:55 · 823 阅读 · 0 评论 -
POJ 2663 Tri Tiling 线性递推 矩阵快速幂
题意:用1*2的格子填满3*N的棋盘,问有多少种方案数。 思路:同前面一篇文章,就不分析啦。 代码如下: #include #include using namespace std; typedef vector vec; typedef vector mat; typedef long long ll; int N; mat A(8,vec(8)); mat mul(mat &原创 2015-01-26 17:49:56 · 669 阅读 · 0 评论 -
HDU 4998 Rotate 平面坐标变换
题意:给出N个对平面的原创 2014-09-14 00:24:46 · 511 阅读 · 0 评论 -
HDU 4565 So Easy!
题目地址点击打开链接原创 2014-07-05 11:22:27 · 520 阅读 · 0 评论 -
HDU 5001 Walk 概率DP BFS 矩阵递推 暴力
题意:给出一张图,图上有N个点。开始,原创 2014-09-14 01:06:09 · 549 阅读 · 0 评论 -
HDU 5015 233 Matrix 矩阵递推
题意:给出一个矩阵,第一行从左到右分别是233,2333,23333,2333333。。。,原创 2014-09-15 10:03:42 · 548 阅读 · 0 评论 -
矩阵快速幂中矩阵的构造技巧
对于出现线性递推的题目,当直接暴力计算的复杂度太高时,我们可以考虑用矩阵快速幂进行加速。 因为虽然矩阵乘法的复杂度为O(n^3),但是通过二进制分解,整体的复杂度变成了 log(n^3) = 3logn = O(logn),复杂度是对数级别的,非常小。 但是矩阵快速幂的难点就是在如何构造矩阵来完成计算。 因为矩阵快速幂是用来加速线性递推的,所以最核心的部分就是线性递推公式。 最经典的就是斐原创 2015-01-25 23:09:13 · 2086 阅读 · 0 评论