1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. int n,M=9973;
  9. struct Matrax {
  10. int m[15][15];
  11. };
  12.  
  13. Matrax a,per;
  14.  
  15. void initial(){
  16. int i,j;
  17. for(i=0;i<n;i++){
  18. for(j=0;j<n;j++){
  19. scanf("%d",&a.m[i][j]);
  20. a.m[i][j]%=M;
  21. per.m[i][j]=(i==j);
  22. }
  23. }
  24. }
  25.  
  26. Matrax multi(Matrax a,Matrax b){
  27. Matrax c;
  28. int k,i,j;
  29. for(i=0;i<n;i++){
  30. for(j=0;j<n;j++){
  31. c.m[i][j]=0;
  32. for(k=0;k<n;k++){
  33. c.m[i][j]=(c.m[i][j]+a.m[i][k]*b.m[k][j])%M;
  34. }
  35. c.m[i][j]%=M;
  36. }
  37. }
  38. return c;
  39. }
  40.  
  41. Matrax Power(int k){
  42. Matrax c,p,ans=per;
  43. p=a;
  44. while(k){
  45. if(k&1){
  46. ans=multi(ans,p);
  47. k--;
  48. }
  49. else {
  50. k/=2;
  51. p=multi(p,p);
  52. }
  53. }
  54. return ans;
  55. }
  56.  
  57. int main(){
  58. int t,k;
  59. scanf("%d",&t);
  60. while(t--){
  61. scanf("%d%d",&n,&k);
  62. initial();
  63. Matrax ans=Power(k);
  64. int ant=0;
  65. for(int i=0;i<n;i++)
  66. ant=(ant+ans.m[i][i])%M;
  67. printf("%d\n",ant);
  68. }
  69. return 0;
  70. }

  

HDU 1575 EASY的更多相关文章

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

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

  2. HDU 1575 Tr A(矩阵高速幂)

    题目地址:HDU 1575 矩阵高速幂裸题. 初学矩阵高速幂.曾经学过高速幂.今天一看矩阵高速幂,原来其原理是一样的,这就好办多了.都是利用二分的思想不断的乘.仅仅只是把数字变成了矩阵而已. 代码例如 ...

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

    HDU.1575 Tr A ( 矩阵快速幂) 点我挑战题目 题意分析 直接求矩阵A^K的结果,然后计算正对角线,即左上到右下对角线的和,结果模9973后输出即可. 由于此题矩阵直接给出的,题目比较裸. ...

  4. hdu 1575 Tr A

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1575 Tr A Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和), ...

  5. HDU 别easy在一系列的

    别easy在一系列的 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Su ...

  6. HDU 1575 Tr A 【矩阵经典2 矩阵快速幂入门】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1575 Tr A Time Limit: 1000/1000 MS (Java/Others)    Me ...

  7. hdu So Easy!

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  8. hdu 1575 Tr A(矩阵快速幂乘法优化算法)

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

  9. HDU 1575 Tr A----矩阵相乘题。

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

随机推荐

  1. &quot;高可用方案工具包&quot; high availability toolkit 1.1

    "高可用方案工具包" high availability toolkit 1.1 公布了. version 1.1 新增了gossip protocol 的高可用HA方案应用. 项 ...

  2. UVA11234 Expressions

    题目的意思实在是读不懂,又是把栈变成队列什么的.. 只是大体的意思就是把后缀表达式变一下.. 抛开意思,事实上就是依据输入建个树,然后倒序输出.. 拿第一个例子说明:大写代表操作符(+ - × /之类 ...

  3. luogu4180 次小生成树Tree 树上倍增

    题目:求一个无向图的严格次小生成树(即次小生成树的边权和严格小于最小生成树的边权和) 首先求出图中的最小生成树.任意加一条树外边都会导致环的出现.我们现在目标是在树外边集合B中,找到边b∈B,a∈b所 ...

  4. python基于selenium+cv2+numpy实现登录某大型电商系统

    首先贴上我的安装包 一.selenium安装 I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项 II.点击sh ...

  5. Windows 10彻底关闭自动更新

    关键点:把流量计费开启.

  6. Node.js:RESTful API

    ylbtech-Node.js:RESTful API 1.返回顶部 1. Node.js RESTful API 什么是 REST? REST即表述性状态传递(英文:Representational ...

  7. [.Net] C# Excel操作类 ExcelHelper

    实现C#与Excel文件的交互操作,实现以下功能: 1.DataTable 导出到 Excel文件 2.Model数据实体导出到 Excel文件[List<Model>] 3.导出数据到模 ...

  8. B - Spyke Talks

    Problem description Polycarpus is the director of a large corporation. There are n secretaries worki ...

  9. jar运行main函数的方法

    当把java项目打包成jar后,如何运行main函数呢? 第一种:指定运行类: java -cp test.jar com.ming.test.Test 第二种:在MANIFEST.MF里配置了Mai ...

  10. 本地sql文件导入mysql数据库

    mysql中配置my.ini interactive_timeout = 120 wait_timeout = 120 max_allowed_packet = 32M 导入sql运行命令 sourc ...