题目链接:https://www.luogu.org/problemnew/show/P2455

无解:最后一列对应元素不为0,前面全是0.

无穷解:一行全是0.

嗯...在消元过程中不要直接拿矩阵元素自己消,会把自己消成0.

 #include <algorithm>
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
const int maxn = ;
const double eps = 1e-;
double A[maxn][maxn], ans[maxn];
int n;
int main()
{
scanf("%d",&n);
for(int i = ; i <= n; i++)
for(int j = ; j <= n+; j++)
scanf("%lf", &A[i][j]);
for(int i = ; i <= n; i++)
{
int p = i;
for(int j = i + ; j <= n; j++)
if(fabs(A[j][i]) > fabs(A[p][i])) p = j;
for(int j = ; j <= n + ; j++) swap(A[p][j],A[i][j]); if(fabs(A[i][i]) < eps) continue;
double div = A[i][i];
for(int j = ; j <= n + ; j++) A[i][j]/=div;
for(int j = ; j <= n; j++)
{
if(i != j)
{
double div = A[j][i];
for(int k = ; k <= n + ; k++) A[j][k] -= A[i][k]*div;
}
}
}
int NoSolution = , ManySolution = ;
for(int i = ; i <= n; i++)
{
int Nonum = , Manynum = ;
for(int j = ; j <= n + && fabs(A[i][j]) < eps; j++)
Nonum++,Manynum++;
if(Manynum > n) ManySolution = ;
if(Nonum == n) NoSolution = ;
}
if(NoSolution) {printf("-1");return ;}
if(ManySolution) {printf("");return ;}
for(int i = n; i >= ; i--)
{
ans[i] = A[i][n+];
for(int j = i - ; j >= ; j--)
{
A[j][n+] -= ans[i] * A[j][i];
A[j][i] = ;
}
}
for(int i = ; i <= n; i++)
printf("x%d=%.2lf\n",i,ans[i] + eps);
return ;
}

【luogu P2455 [SDOI2006]线性方程组】 题解的更多相关文章

  1. Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子

    果然如Miracle学长所说...调了一天...qwq..还是过不了线下的Hack upd after 40min:刚刚过了 就是多了一个判无解的操作... 当系数都为0,且常数项不为0时,即为无解. ...

  2. P2455 [SDOI2006]线性方程组(real gauss)

    P2455 [SDOI2006]线性方程组 (upd 2018.11.08: 这才是真正的高斯消元模板) 找到所消未知数(设为x)系数最大的式子,把它提上来 把这个式子的 x 系数约成1 把这个式子用 ...

  3. P2455 [SDOI2006]线性方程组

    P2455 [SDOI2006]线性方程组 真\(\cdot\)高斯消元模板题 由于各种hack数据被造出来~码量突增~,其实也就多了二三十行 将每行系数消到最多有一个非0数 特殊情况: 在过程同时 ...

  4. 洛谷P2455 [SDOI2006]线性方程组(高斯消元)

    题目描述 已知n元线性一次方程组. 其中:n<=50, 系数是[b][color=red]整数<=100(有负数),bi的值都是整数且<300(有负数)(特别感谢U14968 mmq ...

  5. 洛谷P2455 [SDOI2006]线性方程组

    高斯消元模板 要求输出解的情况(无穷解/无解) 1. 之前写的丑陋代码 #include <iostream> #include <cstdio> #include <c ...

  6. 【luogu P5022 旅行】 题解

    题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...

  7. [luogu 2458][SDOI2006]保安站岗

    题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下超市的所有通道呈一棵树的形状:某些通道之间可以互 ...

  8. 【luogu P2831 愤怒的小鸟】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2831 写点做题总结:dp,搜索,重在设计状态,状态设的好,转移起来也方便. 对于一条抛物线,三点确定.(0, ...

  9. 【luogu P2827 蚯蚓】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2827 35分:暴力sortO(mnlogn). 80分:考虑到每次不好维护不被切的点+q,正难则反.改成维护 ...

随机推荐

  1. jdk7.NIO.2学习笔记之目录文件及权限

    package com.zl.jdk7; import java.io.File; import java.io.IOException; import java.nio.file.Path; imp ...

  2. 移除“xmlns”命名空间

    用XmlDocument创建一个文档,或者插入一个节点,默认会生成xmlns(命名空间)特性. 假定有一个xml文档如下结构: <?xml version="1.0" enc ...

  3. OpenGL Loading

    什么是 OpenGL loading? OpenGL是一份API规范,并不是一个库.记住这点非常重要!它意味着每一个API背后的具体实现都依赖于你的GPU硬件.操作系统以及显卡驱动. OpenGL规范 ...

  4. 生成ks.cfg文件

    RHEL 7下生成ks.cfg文件 环境 + RHEL 7 + 字符界面, 没有安装图形界面 软件包安装 + `yum install system-config-kickstart -y` + `y ...

  5. Caffe & Caffe2入门博客存档

    caffe2 教程入门(python版) https://www.jianshu.com/p/5c0fd1c9fef9?from=timeline caffe入门学习 https://blog.csd ...

  6. [转]前端HTML-CSS规范

    原文:http://www.cnblogs.com/whitewolf/p/4491707.html 黄金定律 一个项目应该永远遵循同一套编码规范! 不管有多少人共同参与同一项目,一定要确保每一行代码 ...

  7. jquery toggle(listenerOdd, listenerEven)

    1. example: <!DOCTYPE HTML><html>    <head></head>    <body>        &l ...

  8. ExecutorService的invokeAny方法

    一.此方法获得最先完成任务的结果,即Callable<T>接口中的call的返回值,在获得结果时,会中断其他正在执行的任务 示例代码: import java.util.ArrayList ...

  9. selendroid之inspector

    http://selendroid.io/inspector.html 寻找元素.断点模式.

  10. Struts2学习-拦截器

    1.新建项目user4,建立好和user3一样的目录,与之相比只是添加几个类,主要是struts.xml和action类的改变,其结果没有太大的变化 struts,xml <?xml versi ...