Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子
果然如Miracle学长所说。。。调了一天。。。qwq。。还是过不了线下的Hack
upd after 40min:刚刚过了
就是多了一个判无解的操作。。。
当系数都为0,且常数项不为0时,即为无解。
当找到自由元时,不能跳过这一行。。。否则会被Hack,见洛谷讨论
#include<cstdio>
#include<iostream>
#include<cmath>
#define R register int
using namespace std;
const double eps=1E-;
inline int g() {
R ret=,fix=; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-:fix;
do ret=ret*+(ch^); while(isdigit(ch=getchar())); return ret*fix;
}
long double a[][];
int n,m,k;
inline bool ck0(double x) {return x<eps&&x>-eps;}
inline void Gauss() {
for(R i=,pos=;i<=n&&pos<=n;++i) { R p;
for(p=pos;p<=n&&ck0(a[p][i]);++p) ;
if(p==n+) continue;
if(pos!=p) for(R j=;j<=n+;++j) swap(a[pos][j],a[p][j]);
for(R j=pos+;j<=n;++j) if(!ck0(a[j][i])){
register long double t=a[j][i]/a[pos][i];
for(R k=;k<=n+;++k) a[j][k]-=a[pos][k]*t;
} ++pos;
} register bool flg1=false,flg2=false;
for(R i=;i<=n;++i) { R j=;
while(ck0(a[i][j])&&j<=n+) ++j;
if(j==n+) flg1=true;
if(j>n+) flg2=true;
} if(flg1) {putchar('-'),putchar(''); return ;}
if(flg2) {putchar(''); return ;}
for(R i=n;i>=;--i) {
for(R j=n;j>=i+;--j) a[i][n+]-=a[i][j]*a[j][n+];
a[i][n+]/=a[i][i];
} for(R i=;i<=n;++i) if(ck0(a[i][n+])) printf("x%d=0\n",i); else printf("x%d=%.2Lf\n",i,a[i][n+]);
}
signed main() {
n=g(); for(R i=;i<=n;++i) for(R j=;j<=n+;++j) a[i][j]=g(); Gauss(); //while(1);
}
2019.05.13
Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子的更多相关文章
- Luogu2455 [SDOI2006]线性方程组 (高斯消元)
		
模板特殊情况没exit(0) $\longrightarrow$60 了一下午 //#include <iostream> #include <cstdio> #include ...
 - luogu P2962 [USACO09NOV]灯Lights 高斯消元
		
目录 题目链接 题解 题目链接 luogu P2962 [USACO09NOV]灯Lights 题解 可以折半搜索 map合并 复杂度 2^(n / 2)*logn 高斯消元后得到每个点的翻转状态 爆 ...
 - 【Luogu】P3317重建(高斯消元+矩阵树定理)
		
题目链接 因为这个专门跑去学了矩阵树定理和高斯消元qwq 不过不是很懂.所以这里只放题解 玫葵之蝶的题解 某未知dalao的矩阵树定理 代码 #include<cstdio> #inclu ...
 - 【luogu P2455 [SDOI2006]线性方程组】 题解
		
题目链接:https://www.luogu.org/problemnew/show/P2455 无解:最后一列对应元素不为0,前面全是0. 无穷解:一行全是0. 嗯...在消元过程中不要直接拿矩阵元 ...
 - luogu 3389 【模板】高斯消元
		
大概就是对每一行先找到最大的减小误差,然后代入消元 #include<iostream> #include<cstdio> #include<cstring> #i ...
 - P2455 [SDOI2006]线性方程组
		
P2455 [SDOI2006]线性方程组 真\(\cdot\)高斯消元模板题 由于各种hack数据被造出来~码量突增~,其实也就多了二三十行 将每行系数消到最多有一个非0数 特殊情况: 在过程同时 ...
 - hdu 3359 Kind of a Blur (高斯消元  浮点型)
		
题目链接 题意: H * W (W,H <= 10) 的矩阵A的某个元素A[i][j],从它出发到其他点的曼哈顿距离小于等于D的所有值的和S[i][j]除上可达点的数目,构成了矩阵B.给定矩阵B ...
 - UVALive - 3490 Generator (AC自动机+高斯消元dp)
		
初始有一个空串s,从前n个大写字母中不断随机取出一个字母添加到s的结尾,出现模式串t时停止,求停止时s的长度期望. 这道题解法不唯一,比较无脑的方法是对模式串t建一个单串AC自动机,设u为自动机上的一 ...
 - [bzoj3601] 一个人的数论 [莫比乌斯反演+高斯消元]
		
题面 传送门 思路 这题妙啊 先把式子摆出来 $f_n(d)=\sum_{i=1}^n[gcd(i,n)==1]i^d$ 这个$gcd$看着碍眼,我们把它反演掉 $f_n(d)=\sum_{i=1}^ ...
 
随机推荐
- 每天一个linux命令(6):rm命令
			
版权声明更新:2017-05-10博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1文章介绍 本文介绍了Linux下面的rm命令. 2 开 ...
 - POJ3565 Ants 和 POJ2195 Going Home
			
Ants Language:Default Ants Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7975 Accepted: ...
 - bzoj 4199: [Noi2015]品酒大会 后缀树
			
题目大意: 给定一个长为n的字符串,每个下标有一个权\(w_i\),定义下标\(i,j\)是r相似的仅当\(r \leq LCP(suf(i),suf(j))\)且这个相似的权为\(w_i,w_j\) ...
 - 如何查看Python 安装位置以及已经安装的库
			
如何查看Python 安装位置以及已经安装的库 步骤一: 1. Start 一个command prompt 2. 找到电脑中已经安装的Python 位置: where python 1 打开路径, ...
 - MySQL 和 InnoDB
			
发现一篇总结的很不错的文章,转一下 (原文作者:Draveness 原文链接:https://draveness.me/mysql-innodb) 作为一名开发人员,在日常的工作中会难以避免地接触 ...
 - 转:删除redis所有KEY
			
转自:http://ssuupv.blog.163.com/blog/static/1461567220135610456193/ 批量删除Key Redis 中有删除单个 Key 的指令 DEL,但 ...
 - LCS(最长公共子序列问题)
			
LCS(Longest Common Subsequence),即最长公共子序列.一个序列,如果是两个或多个已知序列的子序列,且是所有子序列中最长的,则为最长公共子序列. 原理: 事实上,最长公 ...
 - Java 的 Tuple 元组数据类型
			
元组类型,即 Tuple 常在脚本语言中出现,例如 Scala 的 ("Unmi", "china@qq.com", "blahbla"). ...
 - Python-socket发送文件并解决粘包问题
			
服务器端要先根据客户端要下载的文件进行判断是否存在,还要根据文件大小来进行传送,最后还要比对文件的md5值来判断传送的文件是否正确,通过判断剩余字节来解决粘包问题 服务器端 # -*- coding: ...
 - ObjectInputStream缓存数据
			
DataManager /** * 本地数据的存储 * @author Administrator * */ public class DataManager { private static fin ...