#include "iostream"
#include "vector"
#include "cstring"
using namespace std; typedef unsigned long int ULL;
typedef vector<ULL> vec;
typedef vector<vec> mat;
const ULL P=;
int n,m; mat mul(mat &A,mat &B) //return A*B
{
mat C(A.size(),vec(B[].size()));
for (int i=;i<(int)A.size();i++)
{
for (int k=;k<(int)B.size();k++)
{
for (int j=;j<(int)B[].size();j++)
{
C[i][j]=(C[i][j]+A[i][k]*B[k][j])%P;
}
}
}
return C;
} mat m_pow(mat A,int m) //return A^m
{
mat B(A.size(),vec(A.size()));
for (int i=;i<(int)A.size();i++)
B[i][i]=;
while (m>)
{
if (m&) B=mul(B,A);
A=mul(A,A);
m>>=;
}
return B;
} int main()
{
int T;
cin>>T;
while (T--)
{
cin>>n>>m;
mat A(n,vec(n));
for (int i=;i<n;i++)
for (int j=;j<n;j++)
cin>>A[i][j]; A=m_pow(A,m); ULL ans=;
for (int i=;i<n;i++)
{
ans+=A[i][i];
ans=ans%P;
}
cout<<ans<<endl;
}
return ;
}

hdu 1575 矩阵快速幂模板的更多相关文章

  1. hdu 1575(矩阵快速幂)

    Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. HDU - 1575——矩阵快速幂问题

    HDU - 1575 题目: A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973.  Input数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n( ...

  3. hdu 2604 矩阵快速幂模板题

    /* 矩阵快速幂: 第n个人如果是m,有f(n-1)种合法结果 第n个人如果是f,对于第n-1和n-2个人有四种ff,fm,mf,mm其中合法的只有fm和mm 对于ffm第n-3个人只能是m那么有f( ...

  4. HDU 1575 矩阵快速幂裸题

    题意:中文题 我就不说了吧,... 思路:矩阵快速幂 // by SiriusRen #include <cstdio> #include <cstring> using na ...

  5. Tr A HDU 1575 (矩阵快速幂)

    #include<iostream> #include<vector> #include<string> #include<cmath> #includ ...

  6. POJ3070 矩阵快速幂模板

    题目:http://poj.org/problem?id=3070 矩阵快速幂模板.mod写到乘法的定义部分就行了. 别忘了 I ( ) 和 i n i t ( ) 要传引用! #include< ...

  7. 矩阵快速幂模板(pascal)

    洛谷P3390 题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格 ...

  8. 51nod1113(矩阵快速幂模板)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1113 题意:中文题诶- 思路:矩阵快速幂模板 代码: #inc ...

  9. luoguP3390(矩阵快速幂模板题)

    链接:https://www.luogu.org/problemnew/show/P3390 题意:矩阵快速幂模板题,思路和快速幂一致,只需提供矩阵的乘法即可. AC代码: #include<c ...

随机推荐

  1. Adobe Scout 使用参考说明

    Adobe Scout 用于优化 Flash 内容,是一款极为强大的工具,因为它能让您看到 Flash Player 幕后正在发生的事情.但是若明白 Flash Player 为什么做这些事情,您看到 ...

  2. javascript获取当前的时间戳

    JavaScript 获取当前时间戳:第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000第二种方法: var timesta ...

  3. 21SpringMvc_异步发送表单数据到Bean,并响应JSON文本返回(这篇可能是最重要的一篇了)

    这篇文章实现三个功能:1.在jsp页面点击一个按钮,然后跳转到Action,在Action中把Emp(int id ,String salary,Data data)这个实体变成JSON格式返回到页面 ...

  4. Tasks.Parallel

    .Net多线程编程-System.Threading.Tasks.Parallel   System.Threading.Tasks.Parallel类提供了Parallel.Invoke,Paral ...

  5. Linux 网络编程四(socket多线程升级版)

    //网络编程--客户端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include &l ...

  6. Html5实践之EventSource

    最近尝试了一下服务器端的推送,之前的做法都是客户端轮询,定时向服务器发送请求.但这造成了我的一些困扰: 1:轮询是由客户端发起的,那么在服务端就不能判别我要推送的内容是否已经过期,因为我很难判断某个信 ...

  7. 自己实现一个高大尚的Android客户端

    毕业差不多一年了,一直做得都是很底层的东西,由于面向的客户群不同,主要实现在于功能,效率,没有很炫的界面,客户也并不在意界面有多炫.看到各大市场各种高大尚的app,简直亮瞎了我的眼啊,下决心自己实现一 ...

  8. VC6.0和VS2010转换时经常遇到的问题

    这是最近总遇到的,等以后再遇到时慢慢添加进来 1.从1.1更新为2.1,编译“min”: 找不到标识符 解决方法:加上#include "minmax.h" 2.c:\docume ...

  9. android软键盘的一些控制 转来的,格式有点乱

    "EditText + Button"  形成一个 "输入+按键响应" 的案例在android编程中是最常见不过的了. 但还有一些细节需要注意: 在EditTe ...

  10. 分享一个JavaScript嗅探工具Tracker

    今天发现一个好用的JS侦测工具,实时监测JS代码的使用效率,运行状态等. 期待插件作者添加更好的功能. 运行效果 运行效果如下(我把它放到标签里了): 1.点击Tracker书签工具 2.选择查看选项 ...