HDU4920矩阵乘法优化之转置

来源:互联网 发布:如何判断数据的优劣 编辑:程序博客网 时间:2024/05/29 04:06

首先说一下关于CPU cache对程序性能的影响:

别人博客讲解:

点击打开链接

对题目影响的体现:

HDU4902:

#include<stdio.h>int n,a[805][805],b[805][805],c[805][805];int main(){    int i,j,t;    while(~scanf("%d",&n))    {        int x;        for(i=1;i<=n;i++)        for(j=1;j<=n;j++)        {            scanf("%d",&x);            a[i][j]=x%3;        }        for(i=1;i<=n;i++)        for(j=1;j<=n;j++)        {            scanf("%d",&x);            b[j][i]=x%3;        }        for(i=1;i<=n;i++){        for(j=1;j<=n;j++)        {            c[i][j]=0;            for(t=1;t<=n;t++)            {                c[i][j]+=a[i][t]*b[j][t];                            }c[i][j]%=3;            if(j==1)            printf("%d",c[i][j]);            else            printf(" %d",c[i][j]);        }printf("\n");}    }    return 0;}
此题对时间卡的较紧,必须使用矩阵的转置才能AC。

0 0
原创粉丝点击