
矩阵
M_Lter
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CodeForces - 450B Jzzhu and Sequences
题目链接 给定前两个值x,y,根据递推式求第n项的值。 ==》 即递推式整理为f(n)=f(n-1)-f(n-2) ,n>=2,因为数大,用快速矩阵幂求解,套模板即可 #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef l...原创 2018-08-07 13:06:54 · 168 阅读 · 0 评论 -
UVA - 1386 Cellular Automaton
题目链接 n个数组成环,每次取每个数及其左右d个距离内的所有数的求和,再对m取模之后作为新值,问你k次操作后每个数是多少。 当d=1时构造矩阵: , 可知是个循环矩阵,行和列相同,只需第一行或者第一列就可得整个矩阵。 #include<cstdio> #include<cstring> #include<algorithm> using names...原创 2018-08-13 13:39:46 · 182 阅读 · 0 评论 -
UVA - 10655 Contemplation! Algebra
题目链接 给定a+b,a*b和n,要求的值。 要通过a+b和a*b求a和b,再求n次方和,显然不是很容易,我们进行转换: 即转换成递推式,再利用矩阵快速幂求解即可。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using nam...原创 2018-08-13 07:42:33 · 163 阅读 · 0 评论 -
UVA - 11149 Power of Matrix
题目链接 给定n*n的矩阵A和k,求 ,直接在矩阵快速幂模板上加个手写的add函数会超时,过程中有重复计算,使用二分法: 将式子转变成 即 如果n是奇数,答案还要加上。这题要注意格式说明,每行没有多余的空格! #include<iostream> #include<cstdio> #include<cstring&g...原创 2018-08-12 22:59:09 · 145 阅读 · 0 评论 -
UVA - 10689 Yet another Number Sequence
题目链接 简单的矩阵快速幂问题,取n的最后m位数字即为模取10的m次方。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; //const ll mod=1e9+7; ll mod; struct matrix{ ...原创 2018-08-12 22:04:21 · 182 阅读 · 0 评论 -
UVA - 11651 Krypton Number System
题目链接 寻找状态转移方程, 题解参考处 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; typedef unsigned long long ull; const ull mod=(1ull&...原创 2018-08-12 12:46:40 · 189 阅读 · 0 评论 -
UVA - 11551 Experienced Endeavour
题目链接 给n个数,r次操作,算出n个数最后的值。 样例分析:1 2 是两个值,2 0 1表示第一个数由来是有两个操作,就是由下标为0,1(即所给的初始值1 2)求和构成,同理1 1表示第二个数由来是有一个操作,即由下标为1(即所给的初始值2)构成,然后得出的值作为下一次操作的初始值继续操作。 可转为矩阵进行求r次快速幂再和初始矩阵乘积即可。样例1就为: ==》 ==>求解 ...原创 2018-08-12 10:26:36 · 186 阅读 · 0 评论 -
HDU - 4965 Fast Matrix Calculation
题目链接 计算 ,并将M中每个元素对6取余再求和。 因为 ,n太大,直接对A*B形成的矩阵快速幂会暴时爆内存,但可对k*k进行矩阵快速幂。 将矩阵形式转变成: ,对B*A形成的矩阵快速幂即可。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> usi...原创 2018-08-12 08:44:36 · 158 阅读 · 0 评论 -
HDU-4990 Reading comprehension
题目链接 根据题目给的代码可以打表得出一些数据,再用高斯消元得出递推式 题目解法类似于hdu 6198 #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; //const ll mod=1e9+7; ll mod;...原创 2018-08-07 16:09:35 · 231 阅读 · 0 评论 -
hdu 6198 number number number
题目链接 题目给定斐波那契数列递推公式F(n),要找出不满足k个F(i)(0<=i<=k)之和等于任意整数的n值是多少。 先暴力打表: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; const ...原创 2018-07-17 10:43:06 · 210 阅读 · 0 评论 -
hdu 6185 Covering
题目链接 看到题就想起以前做过的类似多米诺骨牌相关的题目,想着应该是有递推式的,菜鸟的我就开始画图,画到废了废了,之后借助网上大佬博客的递推演算: 行数为4 当n=2时,方案数为5; 当n>2时,方案数可由5种情况组合: 第一种情况(第一列填充满): num1=f[n-1]; 第二种情况(前两列填充满): num2=f[n-2]; 第三种情况(根据列填充满判...原创 2018-07-15 02:30:14 · 149 阅读 · 0 评论 -
HDU-5015 233 Matrix
题目链接 给定n,m和n个第一列的数,根据题目给的关系求。 第一列元素: 转化为: 第二列元素: , 把每行加的3看作前一列最后一行的3*1构成,所以根据递推关系可得矩阵A: 再利用矩阵快速幂求解即可 #include<cstdio> #include<cstring> #include<cmath> #include<a...原创 2018-08-07 15:23:14 · 152 阅读 · 0 评论 -
UVA - 10870 Recurrences
题目链接 给定递推式,也给出系数数组和递推式前d项,直接套矩阵快速幂模板即可。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; ll N,mod; struct m...原创 2018-08-13 14:18:51 · 117 阅读 · 0 评论