矩阵专题
DeathYmz
划水摸鱼要不得!!!
不上紫名不改简介=_=(改了改了 打leetcode周赛去了 codeforces太晚了养身要紧)
展开
-
233 Matrix HDU - 5015
233 Matrix HDU - 5015 题意:第一行是0 233 2333 23333,第一列给出,接下来的数字由公式a[i][j]=a[i -1][j]+a[i][j-1].可以转换成矩阵。 思路:#include<iostream>#include<cstdio>#include<cstring>using namespace std;...原创 2018-08-11 11:09:18 · 258 阅读 · 0 评论 -
Experienced Endeavour UVA - 11551
Experienced Endeavour UVA - 11551 思路:水题,理解好题意可以直接构造 矩阵。给出n,r,n是代表接下来又n+1行,先给出一行n个数的数列ai,接下来n行开头给一个个数x,输入x个数bi,代表第ai接下来的变化要加上数列a(bi)的值,所以只要给构造的举证该位置置为1。r代表幂次。#include <cstdio> #include<io...原创 2018-08-19 09:28:13 · 306 阅读 · 0 评论 -
Bear in the Field CodeForces - 385E
Bear in the Field CodeForces - 385E 思路:根据所给条件写出递推式。 fxn=f(xn-1)+d(xn-1)+k k=xn-1+yn-1+2+t(n-1) tn-1=t(n-2)+1 为了方便计算将1-n 变为0-n-1,初始时将x-1,y-1,又由于求k时候是原始位置x+y,所以为x+y+2; 得出递推矩阵#include<cstdio&g...原创 2018-08-19 09:19:47 · 231 阅读 · 0 评论 -
Arc of Dream HDU - 4686
Arc of Dream HDU - 4686 思路:#include<cstdio>#include<cstring>#include<iostream>using namespace std;typedef long long ll;const ll mod=1000000007;struct matrix{ ll x[5][5]...原创 2018-08-12 21:54:21 · 182 阅读 · 0 评论 -
Construct a Matrix FZU - 1911
Construct a Matrix FZU - 1911 思路:先用矩阵快速幂,求出要构造矩阵的大小,接下来就是怎么构造的了,不太会参考了别人的博客,这个构造的就很清晰了。 参考链接 求出来计算出L=S(n)%m之后,构造题目中要求的矩阵,找规律后发现,可以构造成以下最简单的形式 当L=0或者L为奇数时为No,L为偶数时Yes,例如L=6时 0 1 1 1 1 1...原创 2018-08-15 10:10:37 · 332 阅读 · 0 评论 -
How Many Calls? UVA - 10518
How Many Calls? UVA - 10518 题意:求f(n)的递归调用次数,用输出base进制的最后一个数。 思路:f(0)=1,f(1)=1,f(n)=f(n-1)+f(n-2)+1;#include<iostream>#include<cstdio>#include<cstring>using namespace std;ty...原创 2018-08-15 10:00:49 · 253 阅读 · 0 评论 -
M斐波那契数列 HDU - 4549
M斐波那契数列 HDU - 4549 思路:题意很简单,但是不好写,如果不知道幂的取模的话,基本就是tle。要知道如下定理:当m为素数,且a、m互质时, a^n % m = a^(n%(m-1)) % m。取模的问题解决了,就是矩阵快速幂了。#include<iostream>#include<cstdio>#include<cstring>us...原创 2018-08-15 09:52:53 · 330 阅读 · 0 评论 -
Cellular Automaton UVA - 1386
Cellular Automaton UVA - 1386 无数次次RE原因竟然是,开了一个int的n输入用ll型的,简直分分钟奔溃。 思路:开n*n的矩阵内存会爆,这里通过找系数矩阵的规律,用一行代表n行的数。 例如样例1的第一行系数矩阵:1 1 0 0 1,第二行时右移一位1 1 1 0 0 后面即使变换后也是这个道理。#include<iostream>#inclu...原创 2018-08-12 13:23:51 · 246 阅读 · 0 评论 -
Contemplation! Algebra UVA - 10655
Contemplation! Algebra UVA - 10655 题意:给a+b,ab,求a^n+b^n。 思路:a^n+b^n=(a^(n-1)+b^(n-1))*(a+b)-ab(a^(n-2)+b^(n-2)). 即f(n)=(a+b)f(n-1)-abf(n-2). 坑点:输入时只输入a b==0 0的时候结束。#include&lt;cstdio&gt;#include...原创 2018-08-12 09:38:19 · 275 阅读 · 0 评论 -
Recurrences UVA - 10870
Recurrences UVA - 10870 题意:f(n) = a1f(n−1) + a2f(n−2) + a3f(n−3) + … + adf(n−d), for n > d,给出d个ai,d个f(i)。 思路:已经有递推式了,直接求就好。#include <cstdio> #include<iostream> #include <cstr...原创 2018-08-11 17:35:02 · 253 阅读 · 0 评论 -
Power of Matrix UVA - 11149
Power of Matrix UVA - 11149 n是偶数 Sn=a+a^2+…+a^n=(1+a^(n/2))S(n/2) n是奇数 Sn=(1+a(n-1/2+1))S(n-1)/2+a(n-1/2+1) 题意:给出A矩阵,求sum(A)=A+A^2+A^3+…..+A^n。 思路:数列求和。#include <cstdio> #include<i...原创 2018-08-11 17:24:44 · 260 阅读 · 0 评论 -
Yet another Number Sequence UVA - 10689
Yet another Number Sequence UVA - 10689 题意:给出a,b,n,m。f(0)=a,f(1)=b,求f(n)=f(n-1)+f(n-2)的最后m位数字。 思路:矩阵的模板题。#include<iostream>#include<cstring>#include<cstdio>using namespace std...原创 2018-08-11 12:05:22 · 268 阅读 · 0 评论 -
Fast Matrix Calculation HDU - 4965
Fast Matrix Calculation HDU - 4965 题意:给出n,k。并给出矩阵n*k的A矩阵和k*n的B矩阵。1 < n < = 1000 , k < 7。然后给四个操作,C=A*B,C=(C)^(N*N),M矩阵等于C矩阵每个元素%6,并输出M矩阵元素之和。 思路:由于n很大所以可以先(A*B)(A*B)(A*B)…..=A*(B*A)……(B*A)*B...原创 2018-08-11 11:48:38 · 208 阅读 · 0 评论 -
Reading comprehension HDU - 4990
Reading comprehension HDU - 4990 题意:实现相加。1-n,奇数为ans*2+1,偶数为ans*2. 思路:因为很大。所以矩阵快速幂,n为奇数:f(n)=f(n-1)+f(n-2)*2+1;n为偶数:f(n)=f(n-1)+f(n-2)*2+1.所以递推式是:f(n)=f(n-1)+f(n-2)*2+1.#include <cstdio> #in...原创 2018-08-11 11:22:26 · 315 阅读 · 0 评论 -
So Easy! HDU - 4565
So Easy! HDU - 4565 思路:题意虽然写着so easy 但是emmmm没想到怎么处理这个小数情况。看了题解: #include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std;typedef long long...原创 2018-08-19 09:33:25 · 297 阅读 · 0 评论