TOP

矩阵乘法(五):置换(三)
2019-09-06 00:26:07 】 浏览:104
Tags:矩阵 乘法 置换

p;}
      }
      memset(ans.mat,0,sizeof(ans.mat));
      for (i=1;i<=n;i++)
            ans.mat[i][i]=1;
      for (i=0;i<m;i++)
            ans=matMul(p[i],ans,n);      // m个置换矩阵先乘起来,注意是左乘
      ans=quickMatPow(ans,n,k/m);
      for (i=0;i<k%m;i++)
            ans=matMul(p[i],ans,n);    // 剩余的k%m个矩阵相乘,代表剩余的k%m次操作
      memset(a,0,sizeof(a));
      for (i=1;i<=n;i++)
          for (j=1;j<=n;j++)
               a[i]=a[i]+(ans.mat[i][j])*j;
      for (i=1;i<=n;i++)
            printf("%d ",a[i]);
      printf("\n");
      return 0;
}

 


矩阵乘法(五):置换(三) https://www.cppentry.com/bencandy.php?fid=49&id=250179

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇c++数据结构笔记01 下一篇[SNOI2019]字符串