洛谷 P2455 传送门

刚开始写了个消成上三角的,结果狂wa。

后来经过研究发现,消成上三角那种不能直接判断无解或无穷多解,需要其它的操作。

所以干脆学了个消成对角线的,写了一发A了。

其实两种消元的方法都差不多,就当存个板子吧。

 #include<cstdio>

 void swap(double &x,double &y)
{
double t=x;x=y;y=t;
} double v(double rx)
{
return rx>?rx:(-rx);
} int n;
double a[][];
double x[];
const double eps=0.00001; 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(v(a[j][i])>v(a[p][i]))p=j;
if(i!=p)for(int j=i;j<=n+;j++)swap(a[i][j],a[p][j]);
if(v(a[i][i])<eps)continue;
double div=a[i][i];
for(int j=i;j<=n+;j++)a[i][j]/=div;
for(int j=;j<=n;j++)
{
if(i==j)continue;
double div=a[j][i];
for(int k=;k<=n+;k++)
a[j][k]-=div*a[i][k];
}
}
int no=,inf=;
for(int i=;i<=n;i++)
{
int p=;
while(p<=n+&&v(a[i][p])<=eps)p++;
if(p==n+)no=;
if(p>n+)inf=;
}
if(no){printf("-1");return ;}
if(inf){printf("");return ;}
for(int i=n;i;i--)x[i]=a[i][n+];
for(int i=;i<=n;i++)
printf("x%d=%.2lf\n",i,x[i]);
return ;
}

[SDOI2006] 线性方程组的更多相关文章

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

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

  2. P2455 [SDOI2006]线性方程组

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

  3. 【luogu P2455 [SDOI2006]线性方程组】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2455 无解:最后一列对应元素不为0,前面全是0. 无穷解:一行全是0. 嗯...在消元过程中不要直接拿矩阵元 ...

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

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

  5. luogu2455 [SDOI2006]线性方程组 高斯消元法

    #include <iostream> #include <cstdio> #include <cmath> using namespace std; int n, ...

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

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

  7. [Luogu2455] [SDOI2006]线性方程组

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

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

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

  9. Luogu2455 [SDOI2006]线性方程组 (高斯消元)

    模板特殊情况没exit(0) $\longrightarrow$60 了一下午 //#include <iostream> #include <cstdio> #include ...

随机推荐

  1. Animate.css 一款强大的预设css3动画库

    Animate.css是一个有趣的,跨浏览器的css3动画库.很值得我们在项目中引用. 用法 1.首先引入animate css文件 <head> <link rel="s ...

  2. 吴裕雄--天生自然 JAVA开发学习:基础语法

    package test; public class temp { /* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main(Stri ...

  3. Spring Cloud服务间调用鉴权

    学习使用Spring Cloud 微服务间的调用都是RestFul风格,如何保证调用之间的安全性,这是一个很重要的问题. 通过查阅资料http://wiselyman.iteye.com/blog/2 ...

  4. Python3 Windows服务器简单实现 手机访问

    设备 1. PC with Win10 2. Python 3.5.1 步骤 打开CMD,cd 到e盘,mkdir pythonWebserver 建立文件夹 //在E盘建立文件夹,作为服务器的根目录 ...

  5. Mysql存储过程案例集合

    注:使用的工具为SQLyog 壹.while简单使用(替换字符串中的字符,和REPLACE效果一样) 注: 这里没有使用REPLACE函数 1.创建存储过程 DROP PROCEDURE IF EXI ...

  6. JavaScript学习笔记 - 入门篇(2)- 常用互动方法

    输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...

  7. jenkins pipeline 之 deploy k8s 环境并发送邮件通知

    项目中有更新代码之后触发jenkins任务,部署好之后并发送邮件给发开人员 #!/usr/bin/env groovy Date date = new Date()def time = date.fo ...

  8. cmake target_link_libraries() 中<PUBLIC|PRIVATE|INTERFACE> 的区别

    如果目标的头文件中包含了依赖的头文件(源文件间接包含),那么这里就是PUBLIC 如果目标仅源文件中包含了依赖的头文件,那么这里就是PRIVATE 如果目标的头文件包含依赖,但源文件未包含,那么这里就 ...

  9. Hbase的极限测试经验之java项目的jar包导入

    Hbase的极限测试的内容是把之前编过的网站的后台数据库改成hbase即可. 我很快就在hbase数据库中建完表,也把关于操作数据库的函数写好了. 当我调试时,发现在jsp中的操作数据库的函数都不能用 ...

  10. bzoj1396识别子串(SAM+线段树)

    复习SAM板子啦!考前刷水有益身心健康当然这不是板子题/水题…… 很容易发现只在i位置出现的串一定是个前缀串.那么对答案的贡献分成两部分:一部分是len[x]-fa~len[x]的这部分贡献会是r-l ...