矩阵快速幂
Grit_ICPC
Dielts
展开
-
HDU 1757 A Simple Math Problem(矩阵快速幂)
大意:给定函数的初始值,以及地推公式的系数和关系求最终的结果。思路:裸的快速幂,主要是构建矩阵的问题。 由If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); 有关系 所以主要是通过给定的关系式子找到矩阵那么如上,这样就实现了递推。要得到目标结果到底需要矩阵连乘多少次呢?如果k = 10那么原创 2016-04-05 17:23:38 · 404 阅读 · 0 评论 -
HDU 4686 Arc of Dream(矩阵快速幂)
大意:已知 a0 = A0 ai = ai-1*AX+AY b0 = B0 bi = bi-1*BX+BY What is the value of AoD(N) modulo 1,000,000,007?思路:已知an,bn是一个递推式,AoD(n)也是一个递推式,所以试想用一个快速幂解决。那么就应该把a0,b0,ax,ay,bx,by代进去构成一个式子。那么就可以构造矩阵了。因为an原创 2016-04-08 19:53:07 · 380 阅读 · 0 评论 -
HDU 2276 Kiki & Little Kiki 2 (矩阵快速幂)
大意:有01串分别代表灯的状态(关闭,打开),当当前灯的左边灯是1,那么当前灯状态改变,否则不变。思路:以其中的两个灯的状态来考虑。 0 0 0 1 1 0 1 1 一共四种状态,最后两种状态原创 2016-04-07 17:02:50 · 369 阅读 · 0 评论 -
ZOJ 2853 Evolution (矩阵块速幂)
题目大意:有n个物种,经过m次进化,然后T代表有t行数据,每组数据i,j,p(i,j),代表物种i,到j演变的数量百分比。求第n-1种物种的最终数量。(ps:zoj最后输出要用%f- -!)思路:经历子过程最终到达最后一阶段,我们可以用矩阵优化。r[i][j]代表从i到j的数量分数。直接再进行块速幂即可。#include<map>#include<queue>#include<cmath>#i原创 2016-03-25 15:11:18 · 471 阅读 · 0 评论 -
POJ 3070 Fibonacci (矩阵快速幂)
这里有提供了一种求解斐波那契的高效方法,矩阵来求.结果对10000取余099999999991000000000-1Sample Output0346266875#include#include#include#define mod 10000using namespace std;void so(int a[2][2],int b[2][2原创 2015-11-23 20:35:03 · 440 阅读 · 0 评论 -
矩阵快速幂求解任意初始值f1,f2及a,b的斐波那契数列
已知递推式F(n)=a*F(n-1)+b*F(n-2),给定a,b,F(0),F(1)的值以及n,求F(n)。既然初始的f1,f2是随机的所以,先构造这俩个初始的矩阵.A:f1 0 0f2 0 01 0 0B:a b c //这里没有常熟项所以c值为01 0 00 0 1这样就构造出了已知的两个初始的矩阵然后就是用系数的矩阵B与单位矩阵连乘n-1次,原创 2015-11-24 10:49:42 · 1169 阅读 · 0 评论 -
HDU 2157 How many ways??(矩阵快速幂)
大意:给定n个点,然后个关系代表x到y之间有有向路,问从s到t之间经过k个点(即k步),有多少种方式。思路:存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j),一条边乘一次,k条即乘k次。#include<map>#include<cmath>#include<queue>#include<cmath>#include<cstdio>#include<stac原创 2016-04-06 17:49:09 · 533 阅读 · 0 评论 -
HDU 2604 Queuing(矩阵快速幂)
大意:一列人有mf(男,女)问最后不是fmf和fff的排列方式有多少种。思路:就是个递推,类似推骨牌从最后一位来考虑,(PS骨牌:最后的牌排列方式有横着或者竖着,竖着的话有f(n-1)中,否则横着就是f(n-2))。此题也是当最后为m有F(n-1),当为f时不确定看两位mf,ff{当为mf时,不确定,看最后三位,mmf,fmf在为mmf时为F(n-3)种}{为ff,时也不确定最后三位有mff(不确定原创 2016-04-05 21:45:28 · 384 阅读 · 0 评论 -
HDU 1575 Tr A (矩阵快速幂)
大意:求出矩阵的对角线元素的和。思路:裸的巨快,最后循环求和。#include<map>#include<queue>#include<cmath>#include<cstdio>#include<stack>#include<iostream>#include<cstring>#include<algorithm>#define LL int#define inf 0x3f3f3原创 2016-04-05 17:34:06 · 305 阅读 · 0 评论 -
HDU 5667 Sequence(矩阵快速幂+费马小定理)
大意:He gives you 5 numbers n,a,b,c,p,and he will eat fn foods.But there are only p foods,so you should tell him fn mod p.Input The first line has a number,T,means testcase.Each testcase has 5 numb原创 2016-04-17 21:29:59 · 544 阅读 · 0 评论