文章标题 CSU 1849: Comparing answers(矩阵降维+随机化思想)
来源:互联网 发布:js对cfg文件增删查改 编辑:程序博客网 时间:2024/05/21 06:26
1849: Comparing answers
这里写链接内容
题意:题意是有矩阵A,B,然后判断A*A ?= B ,直接做O(n*n*n)
分析:矩阵降维 A*A*C ?= B*C, C 是一维向量 运算顺序为 A*(A*C) 时间复杂度为O(N*N)
代码:
#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<vector>#include<math.h>#include<map>#include<queue> #include<algorithm>#include<ctime>;using namespace std;const double pi=acos(-1.0);const int inf = 0x3f3f3f3f;const int maxn=100005;const double eps=1e-8; int A[1005][1005];int B[1005][1005];int tmp[1005];int n; int ans[1005][2];int judge(){ for (int i=1;i<=n;i++){ if (ans[i][0]!=ans[i][1])return 0; } return 1;}int main(){ srand(time(0)); while (scanf ("%d",&n)!=EOF){ if (n==0)break; memset (A,0,sizeof (A)); memset (B,0,sizeof (B)); memset (tmp,0,sizeof (tmp)); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) scanf ("%d",&A[i][j]); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) scanf ("%d",&B[i][j]); for (int i=1;i<=n;i++){//随机产生一维向量 tmp[i]=rand()%8999; } memset (ans,0,sizeof (ans)); //计算B*tmp for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ ans[i][1]+=B[i][j]*tmp[j]; } } //计算A*tmp for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ ans[i][0]+=A[i][j]*tmp[j]; } } //将结果存在tmp中 for(int i=1;i<=n;i++){ tmp[i]=ans[i][0]; ans[i][0]=0; } for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ ans[i][0]+=A[i][j]*tmp[j]; } } int flag=judge(); if (flag)printf ("YES\n"); else printf ("NO\n"); } return 0; }
阅读全文
0 0
- 文章标题 CSU 1849: Comparing answers(矩阵降维+随机化思想)
- CSU-1849 Comparing answers(矩阵)
- 文章标题 CSU 1831: Found(矩阵快速幂)
- 文章标题 CSU 1845: Sensor network (暴力LCA+kruskal思想)
- 文章标题 CSU 1836 :Square(高精度)
- 文章标题 CSU 1829: Dungeon(BFS)
- 文章标题 CSU 1832: Jump(DP)
- 文章标题 CSU 1856: Sokoban(模拟)
- 文章标题 CSU 1756 :Prime
- 文章标题 CSU 1830: FarAway
- CSUOJ 1849 Comparing answers 哈希,hash,计算技巧
- 文章标题 CSU 1578 : 爬楼梯 (简单DP)
- 文章标题 CSU 1815 : Enterprising Escape(BFS--优先队列)
- 文章标题 CSU 1838: Water Pump (单调栈)
- 文章标题 CSU 1843: Jumping monkey (状态压缩+dp)
- 文章标题 CSU 1913 (线段树+二分答案)
- 文章标题 CSU 1846: Assembly line(DP)
- 文章标题 CSU 1859: Gone Fishing(贪心)
- 【LeetCode】122.Best Time to Buy and Sell Stock II解题报告
- 使用FPDF输出中文
- 之江学院2017ACM 校赛 Problem M: qwb与二叉树(记忆化搜索)
- 【数据压缩】Exp05.JPEG解码
- jdbc基础
- 文章标题 CSU 1849: Comparing answers(矩阵降维+随机化思想)
- android DroidPlugin 学习
- centos7安装telnet服务
- java锁机制
- kafka9使用demo
- SQLite
- Set、List、HashMap优缺点比较,高性能集合
- Java mail使用QQ邮箱发送邮件配置方案及异常处理
- Mac下 tomcat+nginx试验负载均衡 简单模拟