#include<iostream>
#include<vector>
#include<string>
#include<cmath>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<list> using namespace std; #define maxn 15
int n, k;
struct matrix//定义一个结构体,方便传递值
{
int m[maxn][maxn];
}; /*
maxn和mod由全局定义,其中mod根据需要可以省去
*/ matrix mul(matrix a, matrix b) //矩阵求积, 矩阵乘法
{
matrix ans;
for(int i = ; i <= n; i++)
{
for(int j = ; j <= n; j++)
{
ans.m[i][j] = ;
for(int k = ; k <= n; k++)
{
ans.m[i][j] += (a.m[i][k] * b.m[k][j]) % ;
ans.m[i][j] %= ;
}
}
}
return ans;
} matrix quick_pow(matrix a, int b) //矩阵快速幂
{
matrix ans;
for(int i = ; i <= n; i++)
{
for(int j = ; j <= n; j++)
{
if(i == j)
ans.m[i][j] = ;
else
ans.m[i][j] = ;//这里要初始化为单位矩阵,类比普通快速幂这里初始化为1
}
}
while(b != )//方法与普通快速幂相同,只有乘法的实现不同
{
if(b % == )
ans = mul(a, ans);
a = mul(a, a);
b /= ;
} return ans;
} int main()
{
int T;
cin >> T;
while(T--)
{
matrix a; cin >> n >> k;
for(int i = ; i<= n; ++i)
for(int j = ; j <= n; ++j)
cin >> a.m[i][j]; matrix tmp = quick_pow(a, k);
int ans = ;
for(int i = ; i<= n; ++i)
ans += tmp.m[i][i] % ; ans %= ; // 最后这里一定要再次取余!
cout << ans << endl;
} return ;
}

Tr A HDU 1575 (矩阵快速幂)的更多相关文章

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

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

  2. hdu 1575(矩阵快速幂)

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

  3. HDU 1575 矩阵快速幂裸题

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

  4. hdu 1575 矩阵快速幂模板

    #include "iostream" #include "vector" #include "cstring" using namespa ...

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

    链接:传送门 思路:简单矩阵快速幂,算完 A^k 后再求一遍主对角线上的和取个模 /********************************************************** ...

  6. HDU 2855 (矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2855 题目大意:求$S(n)=\sum_{k=0}^{n}C_{n}^{k}Fibonacci(k)$ ...

  7. HDU 4471 矩阵快速幂 Homework

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 解题思路,矩阵快速幂····特殊点特殊处理····· 令h为计算某个数最多须知前h个数,于是写 ...

  8. hdu 1757 (矩阵快速幂) 一个简单的问题 一个简单的开始

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 题意不难理解,当x小于10的时候,数列f(x)=x,当x大于等于10的时候f(x) = a0 * ...

  9. 随手练——HDU 5015 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5015 看到这个限时,我就知道这题不简单~~矩阵快速幂,找递推关系 我们假设第一列为: 23 a1 a2 ...

随机推荐

  1. odoo 在更多下面直接调用方法

    <record id="action_get_qc_result" model="ir.actions.server"> <field nam ...

  2. Apache Flink 1.9.0版本新功能介绍

    摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能.目前,Apache Flink 1.9 ...

  3. 0903NOIP模拟测试赛后总结

    分-rank33.这次考试心态挂了. 拿到题目通读三道题,发现都十分恶心. 然后把时间押到了T1上.将近两个小时,打了个dfs,一直调调调. 最后没调出来,手模了个数据就把自己两个小时的思路hack了 ...

  4. 「题解」:[BZOJ4558]方

    问题: 方 时间限制: 2 Sec  内存限制: 256 MB 题面 题目描述 上帝说,不要圆,要方,于是便有了这道题.由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形 上帝把我们派到了一 ...

  5. SpringBoot_02_SpringBoot的配置文件

    1.SpringBoot配置文件 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者appli ...

  6. Python爬取b站任意up主所有视频弹幕

    爬取b站弹幕并不困难.要得到up主所有视频弹幕,我们首先进入up主视频页面,即https://space.bilibili.com/id号/video这个页面.按F12打开开发者菜单,刷新一下,在ne ...

  7. 在ALV点击Key值调用TCode,跳过初始屏幕

    在开发ALV报表时,通常业务部门会要求在ALV中点击单据号,屏幕跳转到具体业务凭证中查看业务明细,效果如下图: 点击销售销售订单号或者交货单号可传入单据号直接打开销售订单或交货单,实现方式如下: 一. ...

  8. HBase实际应用中的性能优化方法

  9. 排列组合lucas模板

    //codeforces 559C|51nod1486 Gerald and Giant Chess(组合数学+逆元) #include <bits/stdc++.h> using nam ...

  10. mysql系统变量与状态变量

    一.系统变量分为全局系统变量和会话系统变量:有些变量既是全局系统变量,有些变量只有全局的,有些变量只有会话的. .变量的查询: show global variables like 'log' \G; ...