n^3logn非常显然。所以要用一种因为这个矩阵是一个循环矩阵,所以只要知道第一行就可以知道所有行了。 C[i][j]=C[i-1][j-1];

 #include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int Maxn=;
int n,m,k;
struct Matrix{double a[Maxn];}Ori,Bas,Ans;
inline Matrix operator * (Matrix A,Matrix B)
{
Matrix C; memset(C.a,,sizeof(C.a));
for (int i=;i<=n;i++)
for (int j=;j<=n;j++) C.a[i]+=A.a[j]*B.a[(i-j+n+)%n==?n:(i-j+n+)%n];
return C;
}
inline Matrix Pow(Matrix Base,int Exp)
{
Matrix Ret; memset(Ret.a,,sizeof(Ret.a)); Ret.a[]=;
while (Exp)
{
if (Exp&) Ret=Ret*Base;
Base=Base*Base; Exp>>=;
}
return Ret;
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for (int i=;i<=n;i++) scanf("%lf",&Ori.a[i]);
Bas.a[]=(double)(m-)/(double)m;
Bas.a[]=/(double)m;
Bas=Pow(Bas,k);
Ans=Bas*Ori;
for (int i=;i<=n;i++) printf("%.3lf\n",Ans.a[i]);
return ;
}

C++

C[1][i]=A[1][k]*B[k][i]; 就可以转换为 C.a[1][i]=A[1][k]*B[1][i-k+1];

类似题目:POJ 3150 HDU 2276 HDU 4576

最新文章

  1. MlLib--逻辑回归笔记
  2. ie9 placeholder兼容
  3. http协议(六)报文首部
  4. 【HTML】iframe跨域访问问题
  5. Android中的sharedUserId属性详解
  6. java异常类的使用
  7. NYOJ528 找球号(三)位运算
  8. 【转】char *str 和 char str[]的区别
  9. html 知识
  10. ICDM评选:数据挖掘十大经典算法
  11. vertical-align作用的前提++图片不上下居中
  12. java日期和时间Date、Calendar、SimpleDateFormat
  13. TNS-12541: TNS: 无监听程序 解决方案
  14. 向treeview中加载数据
  15. js变量提升
  16. WordPress主题开发:实现分页功能
  17. hadoop无法启动
  18. js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器) 转
  19. graphql 数据导入工具
  20. 2015年传智播客JavaEE 第168期就业班视频教程03-ERP简介(2)

热门文章

  1. 手机版web相关meta配置
  2. UI测试 错题分析
  3. 开发一个简单的python计算器
  4. ARM、Intel、MIPS处理器啥区别?看完全懂了
  5. 虚拟化 模板制作 rhev笔记
  6. 获取app安装信息私有api
  7. tomcat重启脚本
  8. SpringAOP实现(原理)
  9. [css]零散的重构知识
  10. hadoop机架感知与网络拓扑分析:NetworkTopology和DNSToSwitchMapping