已知矩阵乘法是n^3的,必然超时

故可以在需要验证的等式AB=C两边同时左乘D

一个1xN的任意的不含0矩阵

设E=DA,F=EB,G=DC,则此时只需验证F=G

当匹配到非法列J时,跳出n^2寻找行I即可

记录一下Ans,C[I,J]的正确值,然后就愉快地AC了

为了偷懒,我使用的矩阵是A~G连续编号的,所以可以放入数组,不喜勿喷!

 #include <cstdio>
typedef long long ll;
const int MAXN=;
struct Matrix{ll a[MAXN][MAXN];}A[];
void Mul(int a,int b,int c,int n,int p,int m){
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
for(int k=;k<=p;k++)
A[a].a[i][j]+=A[b].a[i][k]*A[c].a[k][j];
}
int main(){
int N,P,M;
while(scanf("%d%d%d",&N,&P,&M)!=EOF){
for(int i=;i<MAXN;i++)for(int j=;j<MAXN;j++)for(int k=;k<;k++)A[k].a[i][j]=;
for(int i=;i<=N;i++)for(int j=;j<=P;j++)scanf("%lld",&A[].a[i][j]);
for(int i=;i<=P;i++)for(int j=;j<=M;j++)scanf("%lld",&A[].a[i][j]);
for(int i=;i<=N;i++)for(int j=;j<=M;j++)scanf("%lld",&A[].a[i][j]);
for(int i=;i<=N;i++)A[].a[][i]=(i&)?:-;//这里可以乱写,233
Mul(,,,,N,P),Mul(,,,,P,M),Mul(,,,,N,M);
int flag=,I,J;ll Ans;
for(int i=;i<=M;i++)if(A[].a[][i]!=A[].a[][i]){J=i;flag=;break;}
if(flag){
for(int i=;i<=N;i++){
ll ans=;
for(int k=;k<=P;k++)ans+=A[].a[i][k]*A[].a[k][J];
if(ans!=A[].a[i][J]){Ans=ans,I=i;break;}
}
printf("No\n%d %d\n%lld\n",I,J,Ans);
}
else puts("Yes");
}
return ;
}

C++-POJ3213-PM3-[矩阵乘法]的更多相关文章

  1. *HDU2254 矩阵乘法

    奥运 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  2. *HDU 1757 矩阵乘法

    A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. CH Round #30 摆花[矩阵乘法]

    摆花 CH Round #30 - 清明欢乐赛 背景及描述 艺术馆门前将摆出许多花,一共有n个位置排成一排,每个位置可以摆花也可以不摆花.有些花如果摆在相邻的位置(隔着一个空的位置不算相邻),就不好看 ...

  4. POJ3070 Fibonacci[矩阵乘法]

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  5. bzoj 2738 矩阵乘法

    其实这题跟矩阵乘法没有任何卵关系,直接整体二分,用二维树状数组维护(刚刚学会>_<),复杂度好像有点爆炸(好像有十几亿不知道是不是算错了),但我们不能怂啊23333. #include&l ...

  6. 【BZOJ-2476】战场的数目 矩阵乘法 + 递推

    2476: 战场的数目 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 58  Solved: 38[Submit][Status][Discuss] D ...

  7. 【BZOJ-1898】Swamp 沼泽鳄鱼 矩阵乘法

    1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1012  Solved: 566[Submit][S ...

  8. 【Codeforces718C】Sasha and Array 线段树 + 矩阵乘法

    C. Sasha and Array time limit per test:5 seconds memory limit per test:256 megabytes input:standard ...

  9. 矩阵乘法的MapReduce实现

    对于任意矩阵M和N,若矩阵M的列数等于矩阵N的行数,则记M和N的乘积为P=M*N,其中mik 记做矩阵M的第i行和第k列,nkj记做矩阵N的第k行和第j列,则矩阵P中,第i行第j列的元素可表示为公式( ...

  10. 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式

    矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b     *     A B   =   a*A+b*C  a*c+b*D c d     ...

随机推荐

  1. MySql基础补漏笔记

    在MySQL教程|菜鸟教程系统复习的时候有一些知识点还没掌握透的或者思维方式还没完全跟上的地方,写了一个笔记,讲道理此笔记对除我之外的任何读者不具有任何实用价值,只针对我在复习MySQL基础过程中的查 ...

  2. bootstrap的自适应 和细节点

    bootstrap的自适应尽量少用绝对宽度px来定义大小,这会导致缩小屏幕宽度时相冲突,多使用百分比来改变位置.. 遇到不能用margin和padding来改变位置时,首先应该想到绝对定位和相对定位( ...

  3. Idea操作ElasticSearch

    前提: 1.ES服务成功启动 2.node.js成功启动 一.创建索引库 1.目录展示 2.导入依赖 <dependency> <groupId>org.elasticsear ...

  4. python学习------文件的读与写

    f=open("yesterday","r",encoding="utf-8") #文件句柄 data=f.read() data2=f.r ...

  5. python+selenium自动化测试,浏览器最大化报错解决方法

    此处以谷歌浏览器为例 [问题1]缺少chrome驱动,webdriver调用谷歌浏览器的时候就报错了,如下图: [原因分析]缺少谷歌驱动程序 [解决办法] 1.查看本地安装chrome浏览器版本 2. ...

  6. linux 内核模块开发相关的文章搜集和模块开发过程中的小技巧

    最近需要开发一些内核模块,进行探究linux内核的一些特征,现在把一些遇到的比较好的文章和知识点,进行简要记录和备忘: 内核模块开发相关链接: https://www.thegeekstuff.com ...

  7. 吴裕雄--天生自然 R语言数据可视化绘图(1)

    par(ask=TRUE) opar <- par(no.readonly=TRUE) # make a copy of current settings attach(mtcars) # be ...

  8. 监控自己的电脑浏览器访问记录并生成csv格式

    #!usr/bin/env python #-*- coding:utf-8 _*- """ @author:lenovo @file: 获取浏览器历史记录.py @ti ...

  9. [SDOI2012] 任务安排 题解

    有感而发,遂书. 其实和sze聊了很久,但他还是退役了.恐怕他是本届里学oi时间最长的一个人吧,从小学五年级开始.我也是因为他,才开始学oi的.他因为学校的压力,不得不放弃.或许是没什么天赋.学了4年 ...

  10. 安装Gitlab到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Gitlab-ce-11.10.1 硬件要求:最低2核4GB,建议4核8GB 安装过程 1.安装 ...