文章分类 - 矩阵相乘
POJ-3233 Matrix Power Series
摘要:题意:给出n、k、m和n*n的矩阵,求S = A + A^2 + A^3 + … + A^k,结果modm。思路:构造一个矩阵 A I O I 自乘后 A^2 I+A O I 乘3次为 A^3 I+A+A^2 O I直接二分幂。(神奇的构造~)题目链接:http://poj.org/problem?id=3233View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cmath> 5 #include <string> 6
阅读全文
HDU 2276 Kiki & Little Kiki 2
摘要:题意:给出N个灯,“1”表示开,“0”表示关,并且灯连成环,比如“0101”第一个“0”灯左侧是最后一个“1”,一次操作:灯i左侧若是“1”,则灯i改变状态,否则不改变,问经过k(1<=k<=10^8)次操作,每个灯的状态。思路:矩阵相乘,推出递推矩阵即可。比如 1 0 1,操作一次是0 1 1,可以推出矩阵1 1 00 1 11 0 1,即单位矩阵基础上每上一位是1,因为是环,左下角是1。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2276View Code 1 #include <cstdio> 2 #include
阅读全文
HDU 2604 Queuing
摘要:题意:f代表男,m代表女,给定长度L,有2^L个不同组合的字符串(f、m相间),不能出现fmf和fff,问有几种组合。思路:只要能找到递推公式就可以马上切掉这题。 设f(n)为字符串长度为n时复合条件的字符串个数,以字符串最后一个字符为分界点,当最后一个字符为m时前n-1个字符没有限制,即为f(n-1);当最后一个字符为f时就必须去除最后3个字符是fmf和fff的情况,在考虑最后两个字符为mf和ff的情况,显然不行;最后3个字符为fmf、mmf和fff、mff时只有当最后3个字符为mmf时前n-3个字符没有限制,即为f(n-3),当为mff时第n-3个字符可能为f因而对前n-3个字符串有限制;
阅读全文
HDU 2256 Problem of Precision
摘要:题意:思路:打表出前几项的结果:9,97,969,9601,95049,940897 用x表示(sqrt(2.0)+sqrt(3.0))^2 先求出 x = 5+2*sqrt(6.0) -> (5*2-1)%1024=9 x^2 = 49+20*sqrt(6.0) -> (49*2-1)%1024=97 x^3 = 485+198*sqrt(6.0) -> (485*2-1)%1024=969 .... 现在我们就能找出规律了。 49 = 5*5+2*2*6 = 5*5+2*12 20 = 5*2 + 2*5 485 = 49*5+20*2*6 = 49*5+20*12 19
阅读全文
HDU 3306 Another kind of Fibonacci
摘要:题意:A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A(N - 2) (N >= 2);给定三个值N,X,Y求S(N):S(N) = A(0)2 +A(1)2+……+A(n)2。思路:原来我们讲的斐波那契数列是: F(0) = 1, F(1) = 1, F(N) = F(N - 1) + F(N - 2) 这道题规定了另一种斐波那契数列形式:A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A(N - 2) 其实原理是一样的!我们以前快速求Fibonacci数列f[n]=f[n-1]+f[n-
阅读全文
求第n个Fibonacci数mod p的值
摘要:题意:给定n和p,求第n个Fibonacci数mod p的值,n不超过2^31。思路:现在我们需要构造一个2 x 2的矩阵,使得它乘以(a,b)得到的结果是(b,a+b)。每多乘一次这个矩阵,这两个数就会多迭代一次。那么,我们把这个2 x 2的矩阵自乘n次,再乘以(0,1)就可以得到第n个Fibonacci数了。不用多想,这个2 x 2的矩阵很容易构造出来:View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <string> 5 #inc
阅读全文
HDU 1757 A Simple Math Problem
摘要:题意:给出a0~a9和k、m, f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10);求f(k)%m。思路:矩阵A 矩阵B0 1 0 0 0 0 0 0 0 0 f0 f10 0 1 0 0 0 0 0 0 0 f1 ...
阅读全文
HDU 1575 Tr A
摘要:题意:A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。思路:基础矩阵题。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1575View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <string> 5 #include <algorithm> 6 #include <iostream> 7 using namespace s
阅读全文
浙公网安备 33010602011771号