• [HNOI 2001]矩阵乘积


    Description

    Input

    Output

    Sample Input

    1 2                       
    3 4 2 3
    1 1 3
    1 4 5
    2 2 1
    3 1 2
    
    1 2 2
    2 1 1
    3 1 2
    3 2 4
    
    1 2 2
    1 3 3
    2 1 1
    2 2 2

    Sample Output

    12

    题解

    直接做$O(n^3)$是肯定过不了的

    由于只要求最后的$(x,y)$的值,

    那么对于第一个矩阵我们只要管第$x$行,

    第三个矩阵只要管$y$列,

    由于满足数的乘法的分配率,我们可以边输入边处理。

    这道题比较麻烦的应该在输入上...

    我用了另外的三个变量记录上一次输入的$i$,$j$,$a$的值,就方便判断了。

     1 #include<set>
     2 #include<map>
     3 #include<cmath>
     4 #include<ctime>
     5 #include<queue>
     6 #include<stack>
     7 #include<cstdio>
     8 #include<string>
     9 #include<vector>
    10 #include<cstdlib>
    11 #include<cstring>
    12 #include<iostream>
    13 #include<algorithm>
    14 #define LL long long
    15 #define RE register
    16 #define IL inline
    17 using namespace std;
    18 const int N=6000;
    19 
    20 int x,y,n,m,o,p;
    21 int a[N+5],b[N+5];
    22 int i,j,c,li,lj,lc;
    23 
    24 int main()
    25 {
    26     scanf("%d%d%d%d%d%d",&x,&y,&n,&m,&o,&p);
    27     scanf("%d%d%d",&i,&j,&c);
    28     while (true)
    29     {
    30         if (i==x) a[j]=c;
    31         li=i,lj=j,lc=c;
    32         scanf("%d%d%d",&i,&j,&c);
    33         if (i<li||i==li&&j<=lj) break;
    34     }
    35     while (true)
    36     {
    37         b[j]+=a[i]*c;
    38         li=i,lj=j,lc=c;
    39         scanf("%d%d%d",&i,&j,&c);
    40         if (i<li||i==li&&j<=lj) break;
    41     }
    42     memcpy(a,b,sizeof(a));
    43     memset(b,0,sizeof(b));
    44     while(true)
    45     {
    46         if (j==y) b[y]+=a[i]*c;
    47         li=i,lj=j,lc=c;
    48         scanf("%d%d%d",&i,&j,&c);
    49         if (i<li||i==li&&j<=lj) break;
    50     }
    51     printf("%d
    ",b[y]);
    52     return 0;
    53 }
  • 相关阅读:
    键盘输入thisisunsafe
    vscode
    iterm2 rz sz
    homebrew镜像更换
    mac
    homebrew下载不成功
    shutil:高层文件操作
    tempfile:临时文件系统对象
    linecache:读取文本文件的指定内容
    fnmatch:Unix式glob模式匹配,简单场景下可以代替正则
  • 原文地址:https://www.cnblogs.com/NaVi-Awson/p/7401111.html
Copyright © 2020-2023  润新知