矩阵乘法
nymph181
这个作者很懒,什么都没留下…
展开
-
【JZOJ比赛】2019.11.7 JZOJ B组
练习赛原创 2019-11-08 21:35:38 · 180 阅读 · 0 评论 -
【矩阵乘法 floyd】洛谷_2886 牛继电器Cow Relays
题意一张TTT条边的图,点的编号在1∼10001\sim10001∼1000之间。求出从起点SSS到终点EEE刚好经过NNN条边的最短路。思路因为边最多只有100100100条,而点编号在1∼10001\sim10001∼1000内,所以点数最多只有200200200个,然后我们可以先离散化。离散化数据把它映射到1∼P1\sim P1∼P的编号中。设AAA为这个图的邻接矩阵,我们可以看看这...原创 2018-12-07 21:15:36 · 357 阅读 · 0 评论 -
【矩阵乘法 模版】洛谷_3390 矩阵快速幂
题意给出一个矩阵AAA,求出AkA^kAk。思路因为矩阵乘法满足结合律,所以结合快速幂的方法可以快速求出答案。代码#include<cstdio>#include<cstring>const int mod = 1e9 + 7;int N;long long K;struct matrix{ int a[101][101];}result, a;...原创 2018-12-07 21:40:29 · 221 阅读 · 0 评论 -
【矩阵乘法 模版】洛谷_1939 矩阵加速(数列)
题意给出一个序列AAA,我们知道:A1=A2=A3=1A_1=A_2=A_3=1A1=A2=A3=1AN=AN−1+AN−3A_N=A_{N-1}+A_{N-3}AN=AN−1+AN−3有TTT次询问,求ANA_NAN。思路我们可以设一个矩阵AAA为:[AN−3AN−2AN−1]\begin{bmatrix} A_{N-3}&amp;amp;A_{N-2}&amp;a...原创 2018-12-08 07:43:08 · 325 阅读 · 0 评论 -
【矩阵乘法】JZOJ_5223 B
题意在一个3∗33*33∗3的矩阵里,每个格子上都有一个机器人。求每个机器人都走NNN步后每个格子上都还有机器人的方案(每个格子上都有机器人)。思路我们可以设一个矩阵AAA为方案数,其中A[i][j]A[i][j]A[i][j]代表从iii点走到jjj点的方案数。由于矩阵乘法是这样的:C[i][j]=∑k=1∼m(A[i][k]∗B[k][j])C[i][j]=\underset{k=1...原创 2018-12-13 17:07:52 · 192 阅读 · 0 评论 -
【矩阵乘法】JZOJ_4787 数格子
题意求出用2×12\times 12×1的牌填满4×N4\times N4×N的矩形方案数%MMM。思路可以打表,得出1,5,11,36,951,5,11,36,951,5,11,36,95,之后代入OEISOEISOEIS,得出递推公式(逃a(n)=a(n−1)+5∗a(n−2)+a(n−3)−a(n−4)a(n) = a(n-1) + 5*a(n-2) + a(n-3) - a(n-4...原创 2019-05-25 16:17:10 · 366 阅读 · 0 评论 -
【矩阵乘法】JZOJ_2288【ZJOI2005】沼泽鳄鱼
题意给出一张图,求出从sss到ttt走kkk步的方案数,其中有几个周期,每个周期大小只能为2、3、4,在这个周期内,每个单位时间会有一个点不能走。思路去除不能走的条件就是普通的矩阵乘法,但这里有这个条件。可见最大的周期是12,那么我们可以建12个矩阵,表示每个单位时间中边的情况,然后计算得出答案。因为周期是循环的,我们可以把矩阵111乘到矩阵121212,再根据题目中的kkk利用快速幂加...原创 2019-07-07 09:15:23 · 176 阅读 · 0 评论 -
【矩阵乘法】JZOJ_6275 小L的数列
题意思路很容易发现fnf_nfn一定为fici(1≤i≤k)f_i^{c_i}(1\leq i \leq k)fici(1≤i≤k)的乘积,我们只用求出cic_ici也就是指数就好了。用resires_iresi存下fif_ifi时f1..kf_{1..k}f1..k的指数,观察题目易得出转移矩阵。另外根据费马小定理,指数对p−1p-1p−1取模。代码#include&...原创 2019-08-07 21:53:42 · 234 阅读 · 0 评论 -
【数据结构 数学 线段树 矩阵乘法 动态dp】SP1716 GSS3 Can you answer these queries III
题意见之前思路考虑动态规划求最大子段和。设fif_ifi为以aia_iai结尾的最大子段和,gig_igi为aia_iai前的最大子段和,得出方程:fi=max(fi−1+ai,ai)、gi=max(gi−1,fi)f_i=max(f_{i-1}+a_i,a_i)、g_i=max(g_{i-1},f_i)fi=max(fi−1+ai,ai)、gi=max(gi−1,f...原创 2019-08-13 00:35:54 · 436 阅读 · 2 评论