当前位置: 首页 > 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工作原理
  • 2017-09-12 前端日报
  • MySQL主从复制读写分离及奇怪的问题
  • PHP变量
  • Python3爬取英雄联盟英雄皮肤大图
  • tweak 支持第三方库
  • 服务器从安装到部署全过程(二)
  • 关于 Cirru Editor 存储格式
  • 如何在 Tornado 中实现 Middleware
  • 系统认识JavaScript正则表达式
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • (007)XHTML文档之标题——h1~h6
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (二十四)Flask之flask-session组件
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (四)Android布局类型(线性布局LinearLayout)
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 物件導向與老子思想 (OO)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .chm格式文件如何阅读
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net中调用windows performance记录性能信息
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @NestedConfigurationProperty 注解用法
  • @requestBody写与不写的情况
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • []指针
  • [BT]BUUCTF刷题第9天(3.27)
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [BZOJ 1040] 骑士
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [C/C++]数据结构 循环队列
  • [C++]二叉搜索树
  • [codeforces] 25E Test || hash
  • [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】