csp202305-2 矩阵运算

简介: csp202305-2 矩阵运算

c8cec58245534394812c270c14481a41.png

01a8b6b523ba4bb78ee933ca0bb3a517.png


优化方法:先k*v,再q*k。(先q*k:n*d×d*n=n*n,改为先k*v:d*n×n*d=d*d,此题d远比n小,所以优化可行)。

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
const ll maxn = 10005;
ll q[maxn][25];
ll k[25][maxn];
ll v[maxn][25];
ll w[maxn];
ll n, d;
ll kv[25][25];
ll ww[maxn][25];
int main()
{
    cin >> n >> d;
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            cin >> q[i][j];
        }
    }
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            cin >> k[j][i];//k转置
        }
    }
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            cin >> v[i][j];
        }
    }
    for (ll i = 1; i <= n; i++)
    {
        cin >> w[i];
    }
    // k*v
    ll ans = 0;
    for (ll i = 1; i <= d; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            for (ll kk = 1; kk <= n; kk++)
            {
                ans += k[i][kk] * v[kk][j];
            }
            kv[i][j] = ans;
            ans = 0;
        }
    }
    
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            for (ll kk = 1; kk <= d; kk++)
            {
                ans += q[i][kk] * kv[kk][j];
            }
            ww[i][j] = ans;
            ans = 0;
        }
    }
    for (ll i = 1; i <= n; i++)
    {
        for (ll j = 1; j <= d; j++)
        {
            ww[i][j] *= w[i];
            cout << ww[i][j] << " ";
        }
        cout << "\n";
    }
}


相关文章
|
SQL Java 数据库连接
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
922 0
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
|
开发工具 开发者 Windows
Windows10 IIS Web服务器安装配置
Windows10 IIS Web服务器安装配置
421 2
|
10月前
|
人工智能 自然语言处理 算法
文生图架构设计原来如此简单之交互流程优化
文生图创作很少是一次完成的过程,通常需要多轮迭代才能达到理想效果。多轮交互架构设计的目标是使这一迭代过程尽可能流畅和高效。
293 6
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
1966 3
|
机器学习/深度学习 人工智能 监控
《在ArkTS中实现模型的可视化调试和监控:探索与实践》
在人工智能与鸿蒙Next融合的时代,ArkTS成为开发高效智能应用的焦点。本文探讨ArkTS中模型可视化调试和监控的方法,包括性能指标、模型结构、输入输出数据的可视化分析,以及利用鸿蒙系统特性实现跨设备监控,助力开发者提升模型性能和准确性,开发更智能的应用。
421 21
|
Linux 数据库
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
|
安全 Shell Windows
记windows自定义bat脚本自启动
【8月更文挑战第27天】在Windows系统中,可让自定义bat脚本自启动的方法有两种:一是利用“启动”文件夹,通过创建bat脚本的快捷方式并将其放置于该文件夹;二是使用任务计划程序,创建一个启动时触发的任务来运行bat脚本。需确保脚本正确安全,避免对系统产生不良影响。
2117 0
MATLAB实战 | APP设计
生成一个用于观察视点仰角和坐标轴着色方式对三维图形显示效果影响的App,界面如图1所示。界面右上部的列表框用于选择绘图数据、切换按钮组用于选择绘图方法,中间的旋钮用于设置视点方位角和仰角,右下部的分档旋钮用于设置坐标轴着色方式、跷板开关用于显示网格线。
817 7
MATLAB实战 | APP设计

热门文章

最新文章