高斯消元求解-HDU3359
来源:互联网 发布:占卜软件哪个好 编辑:程序博客网 时间:2024/06/05 09:28
https://vj.xtuacm.cf/contest/view.action?cid=115#problem/M
这个题目用的模板是直接求解方程式
题解及代码:
这是一个double精度的高斯消元,方程建立直接暴力枚举每个点与当前点的距离就可以了,注意一下题目中给出的输入 先是列数,后是行数
#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#include <cstring>#include <vector>using namespace std;const int maxn=105;typedef double Matrix[maxn][maxn];const int inf=0x3f3f3f3f;Matrix A,S;void gauss(Matrix A,int n){ int i,j,k,r; for(int i=0; i<n; i++) { r=i; for( j=i+1; j<n; j++) if(fabs(A[j][i])>fabs(A[r][i]))r=j; if(r!=i) for(j=0; j<=n; j++)swap(A[r][j],A[i][j]); for(k=i+1; k<n; k++) { double f=A[k][i]/A[i][i]; for(j=i; j<=n; j++) A[k][j]-=f*A[i][j]; } } for(i=n-1; i>=0; i--) { for(j=i+1; j<n; j++) A[i][n]-=A[j][n]*A[i][j]; A[i][n]/=A[i][i]; }}int main(){ int m,n,d; bool first=false; while(~scanf("%d%d%d",&n,&m,&d),n+m+d) { memset(A,0,sizeof(A)); for(int i=0; i<m; i++) for(int j=0; j<n; j++) scanf("%lf",&S[i][j]); for(int i=0; i<m; i++) for(int j=0; j<n; j++) { int cnt=0,nx,ny; for(int dx=-d; dx<=d; dx++) { nx=dx+i; if(nx<0||nx>=m) continue; int p=d-abs(dx); for(int dy=-p; dy<=p; dy++) { ny=dy+j; if(ny<0||ny>=n) continue; cnt++; A[i*n+j][nx*n+ny]=1; } } A[i*n+j][m*n]=cnt*S[i][j]; } gauss(A,m*n); if(!first)first=true; else printf("\n"); for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { printf("%8.2f",A[i*n+j][m*n]); } printf("\n"); } } return 0;}
阅读全文
0 0
- 高斯消元求解-HDU3359
- 【高斯消元】HDU3359
- HDU3359
- hdu3359浮点数的高斯消元
- 高斯消元 hdu3359 Kind of a Blur
- 【高斯消元】[HDU3359]Kind of a Blur
- 【HDU3359】Kind of a Blur (高斯消元)
- HDU3359(高斯消元浮点数版)
- [HDU3359]Kind of a Blur && 高斯消元 陨石巨坑
- HDU3359:Kind of a Blur(高斯消元 & 浮点数)
- hdu3359 约旦高斯消元法
- hdu3359(浮点数高斯消元)
- HDU3359 Special Fish (KM匹配)
- poj 1830(高斯消元求解。。。。)
- 求解!
- 求解
- 求解
- 求解!
- 关于ANR,OOM等问题分析流程的介绍
- SprimgMVC:Failed to load resource: the server responded with a status of 406 (Not Acceptable)
- jar 包冲突解决办法
- HDU 4006 The kth great number (求动态第k大值【Treap】)
- Socket编程
- 高斯消元求解-HDU3359
- ssm分页+bootstrap-table
- 文章标题
- class内的函数
- 判断手机滑动到顶部和顶部的js.
- (BFS)A strange lift--HDOJ
- 数论基础模板
- 修改系统初始化信息
- Codeforces Round #425 (Div. 2) D. Misha, Grisha and Underground 最近公共祖先