矩阵快速幂
文章平均质量分 76
Frozen_Guardian
已退役菜鸡Acmer
展开
-
(转)矩阵快速幂模板
大佬博客:https://blog.csdn.net/baidu_23081367/article/details/52347256代码:const int mat_size = 5;//矩阵大小,需要乘以2,为了&运算的时候需要二倍的矩阵大小const int mod=1e9+7;struct Matrix{ long long a[mat_size][mat_...转载 2020-03-06 13:24:55 · 186 阅读 · 0 评论 -
2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)- 分组(矩阵快速幂套NTT优化dp)
题目链接:点击查看题目大意:给出 nnn 个连续的小球,每次可以选择单独的一个或者相邻的两个小球分成一组,允许有剩余的小球,问恰好分成 k∈{1,2,3,⋯ ,m}k\in\{1,2,3,\cdots,m\}k∈{1,2,3,⋯,m} 组的方案数分别是多少。题目分析:设 dp[i][j]dp[i][j]dp[i][j] 为前 iii 个小球分成 jjj 组的方案数,不难推出:dp[i][j]=dp[i−1][j]+dp[i−1][j−1]+dp[i−2][j−1]dp[i][j]=dp[i-1][j.原创 2021-10-25 10:41:32 · 783 阅读 · 2 评论 -
2021HDU多校8 - 7057 Buying Snacks(矩阵快速幂套NTT优化dp)
题目链接:点击查看题目大意:给出 nnn 种糖果,每种糖果有大小包装之分,有三种购买方案,价钱分别如下:单独购买一个小的,花费一块钱单独购买一个大的,花费两块钱∀i>1\forall i>1∀i>1,可以和 i−1i-1i−1 的糖果捆绑购买,可以便宜一块钱问给出的钱在范围 [0,m][0,m][0,m] 内的不同购买方案数分别是多少题目分析:读完题不难想到最简单的 n2n^2n2 dp,dp[i][j]dp[i][j]dp[i][j] 代表前 iii 个糖果花费了 jj原创 2021-08-14 10:29:24 · 422 阅读 · 0 评论 -
上海理工大学第二届“联想杯”全国程序设计邀请赛 - Little Witch Academia(矩阵快速幂)
题目链接:点击查看题目大意:给出两种型号的瓷砖,尺寸分别是 a∗1a*1a∗1 和 b∗1b*1b∗1,现在需要填满 w∗hw*hw∗h 的矩阵,需要满足以下两个情况:瓷砖不能旋转相邻的两行中,前缀和不能有交集问方案数题目分析:因为 a,b,wa,b,wa,b,w 都特别小,按照题目要求爆搜以下不难看出,每一行最多有 114114114 种方案对于相邻的两行是否可以放置,我们可以维护一个可行矩阵 mazei,jmaze_{i,j}mazei,j,mazei,j=1maze_{i,j}=1m原创 2021-06-18 12:27:11 · 222 阅读 · 0 评论 -
中石油训练赛 - Swapity Swap(矩阵快速幂)
题目描述Farmer John's N cows (1≤N≤100) are standing in a line. The ith cow from the left has label i, for each 1≤i≤N.Farmer John has come up with a new morning exercise routine for the cows. He tells t...原创 2020-03-02 22:51:44 · 746 阅读 · 0 评论 -
HDU - 2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
题目链接:点击查看题目大意:给出 n 个词根,现在要求出长度不大于 len 的单词中,有多少单词包含至少一个词根题目分析:如果我们反过来想,也就是求出来总的单词数,然后减去不包含词根的单词数,剩下的就是本题的答案了,不包含词根的单词数可以用AC自动机+矩阵保存转移状态,然后矩阵快速幂求出,但是这个题目需要求的是不大于 len 的单词数,所以需要给矩阵多增加一维,具体做法可以参考这个博客:...原创 2020-02-05 18:28:42 · 199 阅读 · 0 评论 -
POJ - 2778 DNA Sequence(AC自动机+矩阵快速幂)
题目链接:点击查看题目大意:给出 n 个长度不大于 10 的字符串表示病毒串,再给出一个长度 len ,问长度为 len 的字符串中,有多少个字符串不含有病毒串作为子串题目分析:因为病毒串的长度和数量均不大于 10 ,所以我们对病毒串构造AC自动机后会有最多 100 个结点代表 100 个状态,注意对病毒串的标记,在构造AC自动机时记得把标记下传,因为某个节点如果是病毒串的话,那么含有该前...原创 2020-02-05 16:30:36 · 264 阅读 · 0 评论 -
POJ - 3613 Cow Relays(Floyd思想+矩阵快速幂+动态规划)
题目链接:点击查看题目大意:给定一张由T(T<=100)条边构成的无向图,点的编号为1~1000,之间的整数,求从起点S到终点E恰好经过N(N<=1e6)条边(可重复经过)的最短路题目分析:虽然点的编号在1e3以内,却只有100条边,我们可以离散化,这样最多只需要一个200*200的邻接矩阵就可以维护了,离散化后我们考虑maze储存了邻接矩阵,则dp[i][j]=min(maz...原创 2019-12-06 11:16:16 · 341 阅读 · 0 评论 -
蓝桥杯 - 垒骰子(动态规划+矩阵快速幂优化)
垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。...原创 2019-11-26 15:46:53 · 494 阅读 · 0 评论 -
HDU - 5667 Sequence(矩阵快速幂+费马小定理降幂)
题目链接:点击查看题目大意:给出函数f(x): 现给出n,a,b,c,mod,求f(n)对mod取模后的结果题目分析:这个题目相对于前几个题来说稍微加大了点难度,但还是挺水的一个题,首先我们可以对f(x)的两边取以a为底的log,然后就可以很轻松的得出指数的递推式了g(n)=g(n-1)*c+g(n-2)+b接下来我们先于指数进行矩阵快速幂:初始矩阵:(取n=2即可...原创 2019-10-17 20:36:27 · 380 阅读 · 0 评论 -
HDU - 1757 A Simple Math Problem(矩阵快速幂,水题)
题目链接:点击查看题目大意:实现公式:f(x)=x,x<10 f(x)=a0*f(x-1)+a1*f(x-2)+……+a9*f(x-10)题目给出a0~a9,一个n和一个m,要求输出f(n)对m取模后的结果题目分析:水题初始矩阵:(取n=10即可)f(n-1) f(n-2) f(n-3) f(n-4) f(n-5) f(n-6) f...原创 2019-10-17 18:53:19 · 214 阅读 · 0 评论 -
HDU - 4990 Reading comprehension(矩阵快速幂,水题)
题目链接:点击查看题目大意:给出一段程序,进行优化后提交题目分析:其实就是找规律,大水题一个,偶尔也是需要做做水题找找自信(逃)先将题目中的程序拿下来,跑上100项,然后拿到oeis里找一下规律,就立马得到了递推式:F(n)=F(n-1)+2*F(n-2)+1然后就是简简单单的矩阵快速幂了,写一下矩阵然后直接上代码了:初始矩阵:(取n=3即可)F(n-1) F(n...原创 2019-10-17 17:50:45 · 247 阅读 · 0 评论 -
HDU - 4686 Arc of Dream(矩阵快速幂,水题)
题目链接:点击查看题目大意:给出定义: 现在依次给出n,A0,AX,AY,B0,BX,BY求Aod的第n项对1e9+7取模后的结果题目分析:简单矩阵快速幂首先化简一下:初始矩阵:(取n=1即可) 1 辅助矩阵:1 0 0 0 0 1 AX*BX 0 0 ...原创 2019-10-17 17:22:03 · 222 阅读 · 0 评论 -
2019ICPC(南昌) - The Nth Item(矩阵快速幂)
题目链接:点击查看题目大意:给定一个变形版的斐波那契数列,F(n)为其对应的函数值,初始时给定一个q和一个a1,规定下面两个递推式: ^ ans^=最后输出ans题目分析:对于变形版的斐波那契函数,因为给出的n的范围到了1e18,所以肯定不能打表预处理,只能用矩阵快速幂,每次查询都是logn级别的时间复杂度,而总的需要迭代q次,即最坏情况到了1e7*log1e18,是4e8,如果...原创 2019-09-09 08:45:09 · 333 阅读 · 0 评论 -
HDU - 5015 233 Matrix(矩阵快速幂)
题目链接:点击查看题目大意:初始化:第一行依次为233,2333,23333....第一列依次为a0,a1,a2....(题目中会给出),再给出递推公式:,求矩阵中第n行m列的数字是多少题目分析:因为给出的列数最高能到1e9,所以肯定不能暴力模拟打表,如果暴力打表连数组都开不起来,如果滚动数组模拟,会爆时间,因为这个题目给出了递推式,所以可以向矩阵快速幂的角度出发,一开始给出的是第一列的数...原创 2019-08-31 10:55:02 · 319 阅读 · 0 评论 -
HDU - 5451 Best Solver(循环群+矩阵快速幂)
题目链接:点击查看题目大意:给定x和M,已知求%M题目解析:这种公式题在之前已经证明过做法,详见:点击查看这道题与hdu4565的不同之处就是,这里的n=给的特别的大,而且M不确定,所以没法用费马小定理降幂去做但从网上看大牛的解析知道,原来这个题是有循环群的,只要先找到()的一个循环群,就可以将()变到可以处理的范围内了,剩下的做法就和hdu4565一个样了对了记得...原创 2019-07-27 19:53:11 · 240 阅读 · 0 评论 -
HDU - 4565 So Easy!(共轭构造+推公式+矩阵快速幂)
题目链接:点击查看题意:给出a,b,m,n,求解析:题意一目了然,此题的关键是推出解决问题的公式。首先,题目要求括号内n次方后向上取整再模m,而这里给到的a与b的关系接下来也会用到:<b<我们按照共轭构造的形式,构造出=,=再设=+,由于共轭的性质,易知为整数,又因为<b<,得到0<<1,所以0<<1,题目中要求的向上取整所得...原创 2019-07-27 18:29:09 · 340 阅读 · 0 评论 -
HDU - 6185 Covering(暴搜+递推+矩阵快速幂/杜教BM)
题目链接:点击查看题目大意:规定宽度为4,给定长度为n,求用1*2和2*1的瓷砖,将其完全铺满能有多少种方法。分析:自从学会了矩阵快速幂之后,看到1e18的数据量都会下意识的往递推上面想,但是以前都是因为找不到规律而止步不前。今天看到了一个大佬的博客之后,学会了一个新的方法,这个方法学长上课也讲了,如果按照正规做法的话应该用高斯消元法求递推式,但是相应的,用暴力的手法也能硬凑出递推关系式:...原创 2019-07-27 09:13:28 · 331 阅读 · 0 评论