ABBA
来源:互联网 发布:淘宝店铺美工多少钱 编辑:程序博客网 时间:2024/05/22 15:06
题意:给一个规模为n*m目标矩阵,你当前拥有一个同等规模的0矩阵,你可以通过构造多对n*1和1*m的矩阵通过加法来获得目标矩阵,如果不能则输出-1
首先我们观察每一对构造出来的矩阵的值,可以使得某一个特定的位为任何数而其余都为0,所以不难想到,将目标矩阵等价化成行最简矩阵,然后就可以操作使得矩阵的每一行只有一个非0数或全为0,这样就转化成了求矩阵的秩,然后显然就用得到高斯消元了,高斯消元当然要注意精度问题,这个题要求0.01(鬼知道这个题第30组数据是什么样,卡了很久)
代码如下:
#include <bits/stdc++.h>#include <ext/pb_ds/tree_policy.hpp>#include <ext/pb_ds/assoc_container.hpp>using namespace __gnu_pbds;using namespace std;const int maxn=500;const double EPS=1e-2;double a[maxn][maxn];int n,m;int Gauss(){ for(int i=0; i<n; i++) { int r=i; for(int j=i+1; j<n; j++) if(fabs(a[i][j]) > fabs(a[r][i])) r=j;//斜三角 if(fabs(a[r][i]) < EPS) continue; if(r != i) for(int j=0; j<=m; j++) swap(a[i][j],a[r][j]); for(int j=m; j>=i; j--) for(int k=i+1; k<n; k++) a[k][j] -= a[k][i]/a[i][i]*a[i][j]; } int res=0; for(int i=0; i<n; i++) for(int j=0; j<m; j++) if(fabs(a[i][j]-0) > EPS) { res++; break; } return res;}int main(){ while(~scanf("%d%d",&n,&m)) { memset(a,0,sizeof(a)); for(int i=0; i<n; i++) for(int j=0; j<m; j++) scanf("%lf",&a[i][j]),a[i][m]=0; int ans=Gauss(); printf("%d\n",ans); }}/*3 51 2 3 4 52 4 6 8 103 6 9 12 153 32 0 20 2 02 0 2*/
0 0
- ABBA
- 2016CampDay7problemA.ABBA
- Gym 100962A ABBA
- 面试-字符串匹配ABBA模式
- TopCoder SRM 663 Div2 Problem 500 - ABBA (思维)
- Word Pattern pattern = "abba", str = "dog cat cat dog" should return true
- 判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
- 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
- 提取子串 :串“abcba”以字母“c”为中心左右对称;串“abba” 是另一种模式的左右对称。 这两种情况我们都称这个串是镜像串。特别地,只含有1个字母的串,可以看成是第一种模式的镜像串。
- 题目描述 给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长
- Java三大特性——继承,封装和多态
- 简单的java实现邮箱发送邮件
- LeetCode-Best Time to Buy and Sell Stock II
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution(STL乱搞)
- Eclipse出现Errors occurred during the build.
- ABBA
- 后台代码
- Linux命令汇总
- 使用JavaMail创建邮件和发送邮件
- 51nod 1405 树的距离之和【树形dp】
- https://www.zhihu.com/question/25427490/answer/30834017
- 隐马尔可夫模型与词性标注(上)
- CentOS7 从零开始搭建 Hadoop2.7集群
- 欢迎使用CSDN-markdown编辑器