Tr A

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2449    Accepted Submission(s): 1819

Problem Description
A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。
Input
数据的第一行是一个T,表示有T组数据。
每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。
Output
对应每组数据,输出Tr(A^k)%9973。
Sample Input
2
2 2
1 0
0 1
3 99999999
1 2 3
4 5 6
7 8 9

Sample Output
2
2686

Author
xhd
Source
HDU 2007-1 Programming Contest
Recommend
linle   |   We have carefully selected several similar problems for you:  1757 1588 2256 2254 3117 
 1 //0MS    212K    969 B    G++
 2 /*
 3
 4     第一次 做矩阵的题.有点渣,不过这题是水题。
 5
 6 */
 7 #include<stdio.h>
 8 #include<string.h>
 9 #define N 9973
10 struct matrix{
11     int g[15][15];
12 }temp,ans;
13 int n;
14 matrix mutil(matrix a,matrix b)
15 {
16     matrix c;
17     for(int i=0;i<n;i++)
18         for(int j=0;j<n;j++){
19             c.g[i][j]=0;
20             for(int k=0;k<n;k++){
21                 c.g[i][j]+=a.g[i][k]*b.g[k][j];
22                 c.g[i][j]%=N;
23             }
24         }
25     return c;
26 }
27 void solve(int k)
28 {
29     while(k){
30         if(k&1) ans=mutil(temp,ans);
31         temp=mutil(temp,temp);
32         k/=2;
33     }
34     int sum=0;
35     for(int i=0;i<n;i++){
36         sum+=ans.g[i][i];
37         sum%=N;
38     }
39     printf("%d\n",sum);
40 }
41 int main(void)
42 {
43     int t,k;
44     scanf("%d",&t);
45     while(t--)
46     {
47         scanf("%d%d",&n,&k);
48         for(int i=0;i<n;i++)
49             for(int j=0;j<n;j++){
50                 ans.g[i][j]=(i==j);
51                 scanf("%d",&temp.g[i][j]);
52             }
53         solve(k);
54     }
55     return 0;
56 } 

转载于:https://www.cnblogs.com/GO-NO-1/p/3655138.html

hdu 1575 Tr A (二分矩阵)相关推荐

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

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

  2. hdu 4495(hash+二分+dp)

    题意:求一个n*m的矩阵里面的最大的一个对称等腰直角三角形,三角形的腰必须平行于矩阵的边,n,m<=500. 解题思路:腰平行于矩阵的边,其实也就是做四个方向,首先找到每一个点的最长腰f[i][ ...

  3. BZOJ.4180.字符串计数(后缀自动机 二分 矩阵快速幂/倍增Floyd)

    题目链接 先考虑 假设S确定,使构造S操作次数最小的方案应是:对T建SAM,S在SAM上匹配,如果有S的转移就转移,否则操作数++,回到根节点继续匹配S.即每次操作一定是一次极大匹配. 简单证明:假设 ...

  4. HDU 3646 DP + 二分

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=3646 题意:你有N把武器,每把武器可以对敌人造成一定的伤害(et:攻击力500,敌人血量为200,杀死敌人 ...

  5. hdu 5199 map或二分或哈希

    题目描述:给出n棵树的高度,每棵树上都站着一只鸟,枪手Jack站在最左边那棵树的左边对鸟进行射击,当Jack在高度为H的地方向右发射一颗子弹的时候,高度为H的树上的鸟儿就会掉落(注:其他树上的鸟儿不会 ...

  6. hdu 5411 CRB and Puzzle 矩阵高速幂

    链接 题解链接:http://www.cygmasot.com/index.php/2015/08/20/hdu_5411/ 给定n个点 常数m 以下n行第i行第一个数字表示i点的出边数.后面给出这些 ...

  7. HDU 2289 Cup(二分+圆台体积)

    Problem Description The WHU ACM Team has a big cup, with which every member drinks water. Now, we kn ...

  8. HDU - 5411 CRB and Puzzle 矩阵快速幂

    HDU - 5411 考虑直接dp会T, 用矩阵优化一下就好了. #include<bits/stdc++.h> #define LL long long #define LD long ...

  9. [BZOJ1567][JSOI2008]Blue Mary的战役地图(二分+矩阵hash)

    题目描述 传送门 题解 二分答案之后 O(n2) O(n^2)矩阵hash 就是个裸题 代码 #include<algorithm> #include<iostream> #i ...

  10. HDU 2157 How many ways?? 矩阵

    可达矩阵的K次幂便是从i到j走K步能到达的方案数. 注意处理k=0的情况. #include <cstdio> #include <cstring> #include < ...

最新文章

  1. DeepMind发布最新原始音频波形深度生成模型WaveNet,将为TTS带来无数可能
  2. mysql $的用法_MYSQL limit用法
  3. 大学期间可以获得哪些荣誉_大学期间没有什么荣誉经历,该怎么写简历呢?找工作会很难吗?...
  4. 中标麒麟mysql导数据_中标麒麟(linux)mysql配置记录
  5. 华为电话面试题java_华为java面试题(含电话面试)
  6. 牛客练习赛 63 F-牛牛的树行棋
  7. Ubuntu下安装Oracle11g(图文教程)
  8. stl标准模板库_C ++标准模板库(STL)中的array :: fill()
  9. Android NDK MediaCodec在ijkplayer中的实践
  10. 枚举类型 c# 1201
  11. 数学软件Maple使用教程
  12. linux创建添加用户脚本,Linux 脚本之用户创建
  13. 参照物中找趋势(大道至简之十七)
  14. 小程序云函数new Date()获取的时间和new Date().getDay()获取的时间不一致 / 云函数存入的时间不对 /小程序云开发配置时区
  15. 深信服面试常见算法题整理笔记
  16. 【Suatin】不学编译原理就制作语言2——Concrete Syntax Tree
  17. python函数是一段具有特定功能的语句组_超星《用相声演绎中国文化》网课答案...
  18. 如何写一篇人工智能领域的期刊论文(SCI论文的固定模式和一些套路)
  19. Autofac之类型注册
  20. 电商互动消息如何进行架构演进?

热门文章

  1. 阿里云服务器端口请求失败(在控制台把端口添加到服务器的安全组)
  2. go处理get、post请求返回的body数据
  3. CSDN寄送的礼物,博客评选的阳光普照奖
  4. error: implicit declaration of function ‘RAND_egd’ [-Werror=implicit-function-declaration]
  5. 文字处理技术:试图通过多次布局解决布局问题的思路是否可以避免?
  6. 使用UltraISO制作LINUX安装U盘(未成功)
  7. 对比目录差异,涉及到LINUX要小心,无法发现大小写问题
  8. 不同线程产生的map,会崩溃?
  9. linux 系统启动级别,LINUX系统启动级别介绍与解释
  10. c语言指针教学word,C语言中的指针和指针教学