提交记录 20105


用户 题目 状态 得分 用时 内存 语言 代码长度
TSKY mmmd1k. 测测你的双精度矩阵乘法-1k Accepted 100 591.958 ms 8224 KB C++14 798 B
提交时间 评测时间
2023-09-05 15:52:05 2023-09-05 15:52:08
#include <iostream>
#define idx(i, j) ((i) * n + (j))
using namespace std;
template<size_t L,size_t M,size_t N>
struct MatMulKernel
{
    enum
        {
        row1=L,
        col1=M,
        row2=M,
        col2=N
    };
    template<typename Ty>
    static void matmul(const Ty *A,const Ty *B,Ty *C)
    {
        for(size_t i=0;i<row1;i++)
        {
            size_t c_row=i*col2;
            for(size_t j=0;j<col1;j++)
            {
                Ty A_ij=A[i*col1+j];
                size_t b_col=j*col2;
                for(size_t k=0;k<col2;k++)
                {
                    C[c_row+k]+=B[b_col+k]*A_ij;
                }
            }
        }
    }
};
void matrix_multiply(int n, const double *A, const double *B, double *C) {
	MatMulKernel<1024,1024,1024>::matmul(A,B,C);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1591.958 ms8 MB + 32 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2025-09-14 00:06:20 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠