hdu3359 Kind of a Blur
因为变化出来的是平均数,那么就可以对每一个变化出来的列方程,直接高斯消元就行了。
#include<bits/stdc++.h>
#define N 100005
#define LL long long
#define inf 0x3f3f3f3f
#define ls c[x][0]
#define rs c[x][1]
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
const int maxn=;
const double eps=1e-;
double a[maxn][maxn];
double ave[][];
double b[maxn];
void guass(int n, int m)
{
int equ=n*m,var=n*m;
for (int row=,col=; row<=equ && col<=var; row++,col++)
{
int maxr=row;
for (int i=row; i<=equ; i++)
if (fabs(a[i][col])-fabs(a[maxr][col])>eps)
maxr=i;
if (fabs(a[maxr][col])<eps)
{
row--; continue;
}
if (maxr!=row)
for (int j=col; j<=var+; j++)
swap(a[maxr][j],a[row][j]);
for (int i=row+; i<=equ; i++)
if (fabs(a[i][col])>eps)
{
double s=a[i][col]/a[row][col];
for (int j=col; j<=var+; j++)
a[i][j]-=a[row][j]*s;
}
}
for (int i=equ; i>=; i--)
{
double tmp=a[i][var+];
for (int j=i+; j<=var; j++)
tmp-=a[i][j]*b[j];
b[i]=tmp/a[i][i];
}
}
int main()
{
int n,m,d; int first=;
while (~scanf("%d%d%d",&m,&n,&d))
{
memset(a,,sizeof(a));
if (n+m+d==) break;
for (int i=; i<=n; i++)
for (int j=; j<=m; j++)
scanf("%lf",&ave[i][j]);
for (int k=; k<=n*m; k++)
{
int x=(k-)/m+,y=k%m; if (!y) y=m;
double num=;
for (int i=; i<=n; i++)
for (int j=; j<=m; j++)
if (abs(i-x)+abs(j-y)<=d)
a[k][(i-)*m+j]=,num++;
a[k][n*m+]=num*ave[x][y];
}
guass(n,m);
if (first) first=; else cout<<endl;
for (int i=; i<=n*m; i++)
{
printf("%8.2lf",b[i]);
if (i%m==) printf("\n");
}
}
return ;
}
hdu3359 Kind of a Blur的更多相关文章
- HDU3359 Kind of a Blur(高斯消元)
建立方程后消元 #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring& ...
- 解决css3毛玻璃效果(blur)有白边问题
做一个登录页,全屏背景图毛玻璃效果,实现方法如下: HTML: <body> <div class="login-wrap"> <div class= ...
- js(jquery)解决input元素的blur事件和其他非表单元素的click事件冲突的方法
HTML结构:很简单,就一个input,一个div,能说明问题就OK了: <input type="text" value="默认值"><br ...
- blur和click事件的先后顺序问题
这两个同时用会有冲突.懒得翻译了,需要的自己看哈. 以下摘自stackoverflow. I have an input field, where I try to make autocomplete ...
- input 的blur事件之后button的onclick事件不执行解决方案
最近发现网页程序中有个BUG,就是在input标签输入框中输入完数据后,直接点击“取消” 按钮的时候.出现网页崩死的情况: 经过小主酸菜我,各种方法的尝试后,找到一个初步可以解决的方案,在这里分享给大 ...
- 说说focus /focusin /focusout /blur 事件
事件触发时间 focus:当focusable元素获得焦点时,不支持冒泡:focusin:和focus一样,只是此事件支持冒泡:blur:当focusable元素失去焦点时,不支持冒泡:focusou ...
- [IOS 开发代码]UIImage+Blur 网络图片模糊用法
UIImage-Helpers 网络图片模糊用法 float quality = .00001f; float blurred = .5f; NSURL *url = [NSURL URLW ...
- jQuery focus、blur事件 添加、删除类名
jQuery.focusblur = function(ele,className){ var focusblurid = $(ele); focusblurid.focus(function(){ ...
- jquery的blur之后,focus获取不到焦点的解决办法
一:很多童鞋可能会遇到这种情况: jquery的blur之后,focus获取不到焦点. 二:使用场景: 用户填写信息的时候,若邮箱为空,则提示 请填写邮箱,并将光标置于填写邮箱的文本框里,方便用户的再 ...
随机推荐
- PHP如何查找一列有序数组是否包含某值(二分查找)
问题:对于一列有序数组,如何判断给出的一个值,该值是否存在于数组. 思路:判断是否存在,最简单是,直接循环该数组,对每一个值进行比较.但是对于有序数组来说,这样写就完全没有利用好“有序”这一特点. 所 ...
- IOS 常用功能代码
1. 关闭/隐藏键盘 resignFirstResponder 响应view的方法 -(IBAction)fname:(id)sender{ [sender resignFirstResponder] ...
- Unity 公告板 Billboard
创建脚本如下 Billboard.cs using UnityEngine; using System.Collections; public class Billboard : MonoBehavi ...
- sass计算高度
页面布局时,有时候需要两个div充满父div空间,设定一个div尺寸后,可以使用css计算高度设置另一个尺寸: <style> .wrap{ width:1000px; } .left{ ...
- 判断ES数据是否更新成功
参考:https://stackoverflow.com/questions/38928991/how-to-detect-if-a-document-update-in-elasticsearch- ...
- VMware导入和删除虚拟机文件
VMware中导入已存在的虚拟机文件: 1.文件-->打开-->选择虚拟机文件-->完成 VMware中完全删除虚拟机文件 2.在虚拟机上右键单击-->管理--> ...
- 044、Java中逻辑运算之向左边移位2位实现功能
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 019、MySQL取本季度开始时间和本季度结束时间
SELECT QUARTER ( adddate( dy, ) ) QTR, date_add( dy, INTERVAL MONTH ) Q_start, adddate( dy, ) Q_end ...
- spark源码单步跟踪阅读-从毛片说起
想当年读大学时,那时毛片还叫毛片,现在有文明的叫法了,叫小电影或者爱情动作片.那时宿舍有位大神,喜欢看各种毛片,当我们纠结于毛片上的马赛克时,大神大手一挥说道:这算啥,阅尽天下毛片,心中自然无码!突然 ...
- 配置anaconda 的仓库镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config -- ...