矩阵
文章平均质量分 69
青竹梦
在你没有尽全力之前,永远不知道最强的自己有多强!!!
展开
-
矩阵十大经典题目之四- VOJ1049-送给圣诞夜的礼品
题目链接:https://vijos.org/p/1049题目大意: 顺次给出m个置换,反复使用这m个置换对初始序列进行操作,问k次置换后的序列。m注意:在写矩阵的乘法的时候一定要注意,写好到底是谁乘以谁。写反了就悲剧了。还有,在求快速幂取模的时候要用非递归写法,不然容易RE;#include#include#include#includeusing namespace原创 2014-03-11 19:22:05 · 3312 阅读 · 0 评论 -
poj-3744-Scout YYF I-矩阵乘法
f[i]=f[i-1]*p+f[i-2]*(1-p);正好可以用矩阵加速。。。。#include#include#include#include#includeusing namespace std;struct matr{ double mat[3][3]; friend matr operator *(const matr a,const matr b)原创 2014-06-20 22:47:42 · 1169 阅读 · 0 评论 -
hdu-4656-So Easy!-递推式+矩阵优化
题解转自:http://www.klogk.com/posts/hdu4565/题意非常简单,a,b,n都是正整数,求Sn=⌈(a+b√)n⌉%m,(a−1)2ba2这个题目也是2008年Google Codejam Round 1A的C题。做法其实非常简单,记(a+b√)n为An,配项Cn=An+Bn=(a+b√)n+(a−b√)n两项恰好共轭,所以Cn是整数。又原创 2014-07-02 19:59:32 · 1717 阅读 · 0 评论 -
HDU 4059 The Boss on Mars-矩阵+容斥
错了29遍,终成正果。。。。。根据题意,很容易的可以想到容斥。然后的问题就是如何求sum(n)=1^4+2^4+3^4+....+n^4;有三种道路:很显然:1^4+2^4+3^4+....+n^4=(n^5)/5+(n^4)/2+(n^3)/3-n/30;则1,用java的大数去敲这个的代码。2,用c++敲,但是用到分数取模,求逆元。3,用c++敲,但是不用这原创 2014-05-13 23:43:37 · 1327 阅读 · 0 评论 -
zoj-3772-Calculate the Function-线段树+矩阵
之前板刷了很多的矩阵的题目。结果心中就有了一个很错误的想法。就是矩阵的题目都是用来高次幂运算的。今天看了这道题目,一开始感觉是矩阵,后来看看了,感觉不是矩阵,就放弃了。后来放学的时候,SCF跟我说这道题目是线段树+矩阵。我就又开始想了这道题目。后来仔细想了想发现,原来是线段树预处理矩阵,然后每次询问O(log(n))。又学到了一招,真棒#include #includ原创 2014-04-07 03:32:24 · 2352 阅读 · 0 评论 -
矩阵十大经典题目之三-POJ-3233-Matrix Power Series-两次二分
如果k为偶数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2) 如果k为奇数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2)+A^k然后二分求解即可。思路简单。接下来说一下优化的问题:-------------------------------原创 2014-03-11 16:48:02 · 3860 阅读 · 2 评论 -
zoj-3497-Mistwald-矩阵
题意:有一个n*m的矩阵,矩阵上每一个格子有四个传送门,分别通向四个格子,题目给出了每个格子的四个传送门所能到达的地方。起点在(1,1),终点是(n,m),当走到终点的时候就不能再走了,也就是说一旦你到达了终点,就会直接离开这个矩阵。问说从起点开始走P(0 ≤ P ≤ 100,000,000)步能不能到达终点。输出的情况是True,Maybe和False。Ture对应的就是走了P步以后只能原创 2014-03-13 20:14:04 · 1577 阅读 · 0 评论 -
hdu-4686-Arc of Dream-矩阵
构造一个矩阵。一开始自己的思路搓了,没有把sum值一起构造到矩阵里。还是对矩阵不是很熟悉,接着做题。悲伤啊。。只要是这一项由前面几项推出来的,就能放在同一个矩阵里。#include#include#include#includeusing namespace std;#define LL __int64#define MOD 1000000007struct matr原创 2014-03-13 17:11:49 · 1044 阅读 · 0 评论 -
POJ-3613-Cow Relays-矩阵
题目大意: 给出一张无向连通图,求S到E经过k条边的最短路。解题思路: 利用递推的思路,先算出经过一条边的最短路,再算两条边......k-1条边,k条边的最短路 先看一下Floyd的核心思想: edge[i][j]=min(edge[i][j],edge[i][k]+edge[k][j]) i到原创 2014-03-13 01:43:20 · 1691 阅读 · 2 评论 -
矩阵十大经典题目之七- Warcraft--III--守望者的烦恼
原文:我们可以用上面的方法二分求出任何一个线性递推式的第n项,其对应矩阵的构造方法为:在右上角的(n-1)*(n-1)的小矩阵中的主对角线上填1,矩阵第n行填对应的系数,其它地方都填0。例如,我们可以用下面的矩阵乘法来二分计算f(n) = 4f(n-1) - 3f(n-2) + 2f(n-4)的第k项: 利用矩阵乘法求解线性递推关系的题目我能编出一卡车来。这里给出的原创 2014-03-12 16:28:01 · 2172 阅读 · 0 评论 -
矩阵的十大经典题目,留份做题
经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置。操作有平移、缩放、翻转和旋转 这里的操作是对所有点同时进行的。其中翻转是以坐标轴为对称轴进行翻转(两种情况),旋转则以原点为中心。如果对每个点分别进行模拟,那么m个操作总共耗时O(mn)。利用矩阵乘法可以在O(m)的时间里把所有操作合并为一个矩阵,然后每个点与该矩阵相乘即可直接得出最终该点的位置,总共耗时O转载 2014-03-11 16:50:05 · 12010 阅读 · 0 评论 -
矩阵十大经典题目之八-hdu-2157-How many ways??
题目大意:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值把 给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j),实际上就 等于从点i到点j恰好经过2条边的路径数(枚举k为中转点)。类似地,C*A的第i行第j列就表示从i到j经过3条边的路径数。同理,如果要求经过k步的 路径数,我原创 2014-03-13 01:00:45 · 3601 阅读 · 3 评论 -
矩阵十大经典题目之六- poj-3070-Fibonacci
题目很简单。注意初始化,一开始没有初始化,然后就错了。悲伤。#include#include#include#includeusing namespace std;#define Nnum 31#define Mnum 31#define LL long longstruct matrix{ int mat[3][3]; matrix() {原创 2014-03-11 19:44:08 · 1726 阅读 · 0 评论 -
hdu-5015-233 Matrix-矩阵
很显然矩阵的第一列为:0a[1]a[2]a[3]a[4]我们转化一下,转化为23a[1]a[2]a[3]a[4]3那么由第一列转移到第二列则为23*10+3a[1]+23*10+3a[2]+a[1]+23*10+3a[3]+a[2]+a[1]+23*10+3a[4]+a[3]+a[2]+a[1]+23*10+33很显然原创 2014-09-17 15:54:51 · 3145 阅读 · 0 评论