hdoj1575【矩阵快速幂】
题意:非常清晰!
直接搞吧。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f
const double pi = acos(-1.0);
const int mod =9973;
const int N = 20;
struct asd{
    LL a[N][N];
};
int n;
asd mul(asd a,asd b)
{
    asd ans;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            ans.a[i][j]=0;
            for(int k=1;k<=n;k++)
            {
                ans.a[i][j]=(ans.a[i][j]+a.a[i][k]*b.a[k][j])%mod;
            }
        }
    }
    return ans;
}
asd quickmul(asd z,int g)
{
    asd ans;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i==j)
                ans.a[i][j]=1;
            else
                ans.a[i][j]=0;
        }
    }
    while(g)
    {
        if(g%2)
        {
            ans=mul(ans,z);
        }
        g/=2;
        z=mul(z,z);
    }
    return ans;
}
int main()
{
    int t;
    int i,j,k;
    asd s;
    scanf("%d",&t);
    while(t--)
    {
        asd A;
        scanf("%d%d",&n,&k);
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                scanf("%lld",&A.a[i][j]);
            }
        }
        s=quickmul(A,k);
        LL ans=0;
        for(i=1;i<=n;i++)
        {
            ans+=s.a[i][i];
        }
        printf("%lld\n",ans%mod);
    }
    return 0;
}hdoj1575【矩阵快速幂】的更多相关文章
- hdoj1575  Tr A(矩阵快速幂)
		简单的矩阵快速幂.最后求矩阵的秩. #include<iostream> #include<cstring> using namespace std; ; int n,k; s ... 
- 矩阵快速幂 HDU 4565 So Easy!(简单?才怪!)
		题目链接 题意: 思路: 直接拿别人的图,自己写太麻烦了~ 然后就可以用矩阵快速幂套模板求递推式啦~ 另外: 这题想不到或者不会矩阵快速幂,根本没法做,还是2013年长沙邀请赛水题,也是2008年Go ... 
- 51nod 算法马拉松18 B 非010串 矩阵快速幂
		非010串 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个01字符串满足不存在010这样的子串,那么称它为非010串. 求长度为n的非010串的个数.(对1e9+7取模) ... 
- 51nod 1113 矩阵快速幂
		题目链接:51nod 1113 矩阵快速幂 模板题,学习下. #include<cstdio> #include<cmath> #include<cstring> ... 
- 【66测试20161115】【树】【DP_LIS】【SPFA】【同余最短路】【递推】【矩阵快速幂】
		还有3天,今天考试又崩了.状态还没有调整过来... 第一题:小L的二叉树 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣.所以,小L当时卡在了二叉树. ... 
- HDU5950(矩阵快速幂)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 题意:f(n) = f(n-1) + 2*f(n-2) + n^4,f(1) = a , f(2 ... 
- 51nod 1126 矩阵快速幂 水
		有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ... 
- hdu2604(递推,矩阵快速幂)
		题目链接:hdu2604 这题重要的递推公式,找到公式就很easy了(这道题和hdu1757(题解)类似,只是这道题需要自己推公式) 可以直接找规律,推出递推公式,也有另一种找递推公式的方法:(PS: ... 
- 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式
		矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b * A B = a*A+b*C a*c+b*D c d ... 
- hdu4965 Fast Matrix Calculation (矩阵快速幂 结合律
		http://acm.hdu.edu.cn/showproblem.php?pid=4965 2014 Multi-University Training Contest 9 1006 Fast Ma ... 
随机推荐
- HTML5与Javascript 实现网页弹球游戏
			终于效果图: 1. 使用html 5 的canvas 技术和javascript实现弹球游戏 总体流程图: 1.1 html5 canvas技术的使用 首先在html页面中定义画布. <canv ... 
- HDU 2049 不容易系列之(4)——考新郎 (递推,含Cmn公式)
			不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ... 
- ok6410[000]  ubuntu1604_64bit下安装wps
			虽说Ubuntu下有自动的office工具,不过使用上体验很差.而国内最好的office软件也就是金山的wps. ------------------------------------------- ... 
- return和exit
			return从当前函数返回而exit结束正在运行的程序 示例: [wangml@iZwz976helaylvgqok97prZ testForC]$ ./exit.test q [wangml@iZw ... 
- Python——list切片
			前文简单介绍了Python中的list和它常用的一些函数,知道list是一个有序的数据集合,那么我们如何获取list中的元素呢? Index: 与C语言中数组一样,list可以通过每个元素的index ... 
- Arduino 网络时钟client
			升级! 添加了12h/24h 的开关,还有标准/ 夏令时开关!见步骤7 & 步骤8. 你是否曾想要一个和办公室时间来源全然准确的表? 这就有一个网络的办公时间server,你能够根据它并同步你 ... 
- 光流(optical flow)和openCV中实现
			转载请注明出处! ! ! http://blog.csdn.net/zhonghuan1992 光流(optical flow)和openCV中实现 光流的概念: 是Gibson在195 ... 
- POJ 2482 Stars in Your Window(线段树+扫描线)
			题目链接 非常不容易的一道题,把每个点向右上构造一个矩形,将问题转化为重合矩形那个亮度最大,注意LL,注意排序. #include <cstdio> #include <cstrin ... 
- HDFS集群安装部署
			准备环境: 三台centos7虚拟机(Node-1,Node-2,Node-3) 配置虚拟机网络,保证三台机器可以互相ping通,并且和宿主机可以互相ping通.如果仅仅是作为虚拟机学习,可以关闭防火 ... 
- 微信小程序引入外部js 方法
			步骤: 1.首先将外部js放在你指定的文件夹里(这都是废话...) 2.接下来 将该js文件中你要使用的方法给暴露出来 3.在您要使用的js中引入该js 4.使用暴露出来的方法 例子:使用md5加密 ... 
