zoukankan      html  css  js  c++  java
  • [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 }
  • 相关阅读:
    PostgreSQL管理工具:pgAdminIII
    PostgresQL7.5(开发版)安装与配置(win2003测试通过)
    让PosggreSQL运行得更好
    在.NET程序中使用PIPE(管道技术)
    在浏览网页过程中,单击超级链接无任何反应
    字符串转换
    数组初始化
    使用现有的COM
    后台服务程序开发模式(一)
    COM的四本好书
  • 原文地址:https://www.cnblogs.com/NaVi-Awson/p/7401111.html
Copyright © 2011-2022 走看看