当前位置: 首页 > news >正文

bzoj 2510 弱题 矩阵乘

看题就像矩阵乘

但是1000的数据无从下手

打表发现每一行的数都是一样的,只不过是错位的,好像叫什么循环矩阵

于是都可以转化为一行的,O(n3)->O(n2)*logk

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n,m,k,yy[1005][1005];
double ma[1005],A[1005],f[1005];
int print(double a[1005]){
    for(int i=1;i<=n;i++)
        printf("%0.3lf\n",a[i]);
}
void poww(double a[1005],double b[1005],double c[1005]){
    double d[1005]={0};
    for(int i=1;i<=n;i++)
    {
        d[i]=0;
        for(int j=1;j<=n;j++)
            d[i]+=(double)a[j]*b[yy[j][i]];
    }
    for(int i=1;i<=n;i++)
        c[i]=d[i];
}
///a[i][j]=a[1][1+(j-i+n)%n]
//f[i][j]=(m-1)/(1.0*m)*f[i-1][j]+1/(1.0*m)*f[i-1][j-1];
int main()
{
    scanf("%d%d%d",&n,&m,&k);
    int ii=0; 
    for(int i=1;i<=n;i++)
        scanf("%lf",&f[i]);
    ma[1]=(m-1)/(1.0*m);
    ma[2]=1/(1.0*m);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            yy[i][j]=1+(j-i+n)%n;
    A[1]=1;
    while(k){
        if(k&1)poww(ma,A,A);
        poww(ma,ma,ma);
        k>>=1;
    }
    poww(A,f,A);
    print(A);
    return 0;
}


转载于:https://www.cnblogs.com/Ren-Ivan/p/7746734.html

相关文章:

  • CentOS的进程管理二
  • 深入浅出iOS事件机制
  • phpStudy配置多站点多域名步骤,及遇到的403错误解决方式
  • 模拟ajax实现网络爬虫——HtmlUnit
  • 关于冰岛足球的段子
  • Hadoop简单介绍
  • 【菜鸟也疯狂UML系列】——概述
  • 最新发布:数据库防火墙技术市场调研报告
  • 《Android应用开发攻略》——1.4 在Eclipse中创建“Hello, World”应用程序
  • HBase最佳实践-集群规划
  • 《规范敏捷交付:企业级敏捷软件交付的方法与实践》——2.5 事实重于巧辩...
  • 技术热点:Android hook技术浅析
  • 基因测序、大数据分析——精准治癌正在成为现实
  • Python数据结构——AVL树的实现
  • 《Linux高性能服务器编程》——1.6 DNS工作原理
  • 《剑指offer》分解让复杂问题更简单
  • echarts花样作死的坑
  • express + mock 让前后台并行开发
  • python学习笔记 - ThreadLocal
  • quasar-framework cnodejs社区
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SQLServer之索引简介
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何选择开源的机器学习框架?
  • 线上 python http server profile 实践
  • 原生 js 实现移动端 Touch 滑动反弹
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 积累各种好的链接
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # Panda3d 碰撞检测系统介绍
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)大型网站的系统架构
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 发送邮件
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET运行机制
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @Autowired多个相同类型bean装配问题
  • [《百万宝贝》观后]To be or not to be?