首页 > 其他分享 >xdoj 637 拉普拉斯变换

xdoj 637 拉普拉斯变换

时间:2024-11-24 13:58:21浏览次数:6  
标签:输出 数列 637 拉普拉斯 整数 xdoj 计算 序列

拉普拉斯高通滤波找边缘

问题描述

  对于一个数列 f, 定义其 2 阶差分为:L( f[n] ) = f[n+1] - 2*f[n] + f[n-1], L 也称为拉普拉斯算子。我们计算数列 f 和 拉普拉斯核 [1, -2, 1] 的卷积, 计算过程见样例说明。

输入格式

  第一行一个整数 n, 表示数列由 n 个整数组成, 3≤n≤1000。 第二行 输入空格分隔的 n 个整数, 表示数列 f。

输出格式

  输出 n-2 个整数,表示拉普拉斯卷积后的序列,整数之间以空格分隔。

样例输入

10

1 1 1 2 3 4 3 2 2 2

样例输出

0 1 0 0 -2 0 1 0

样例说明:

  拉普拉斯核: 1 -2 1     

  f 序列为:

1 1 1 2 3 4 3 2 2 2

当前位置拉普拉斯计算:

  序列与核[1, -2, 1] 上下对应元素相乘并相加, 输出第 1 个元素: 1 * 1 + (-2)*1 + 1 * 1 = 0。

  拉普拉斯核向右偏移一步:

拉普拉斯核: 1 -2 1

    f 序列为: 1 1 1 2 3 4 3 2 2 2

计算输出第 2 个元素: 1 * 1 + (-2)*1 + 1* 2 = 1

拉普拉斯核重复向右偏移一步,每次计算一个输出,直到:

                拉普拉斯核: 1 -2 1

f 序列为: 1 1 1 2 3 4 3 2 2 2

计算输出第 8 个元素: 1 * 2 + (-2)*2 + 1* 2 = 0。

注意输出结果序列比原始序列f的长度小2,这是由边界对齐计算条件造成的。

#include <stdio.h>

int main() {
	int n, i, x1, x2, x3;
	scanf("%d", &n);
	int a[n] = {0};
	if (n >= 3 && n <= 1000) {

		for (i = 0; i < n; i++) {
			scanf("%d", &a[i]);
		}
		for (i = 0; i < n - 2; i++) {
			x1 = a[i] * 1;
			x2 = a[i + 1] * (-2);
			x3 = a[i + 2] * 1;
			printf("%d ", x1 + x2 + x3);
		}
	}
	return 0;
}

标签:输出,数列,637,拉普拉斯,整数,xdoj,计算,序列
From: https://blog.csdn.net/2401_87822230/article/details/144000877

相关文章

  • python——celery异常consumer: Cannot connect to redis://127.0.0.1:6379/1: MISCON
    1.检查Redis日志:查看Redis的日志文件(通常位于/var/log/redis/redis-server.log或者根据你的配置文件中指定的位置),以获取有关错误原因的详细信息。2.检查磁盘空间:确保你的服务器有足够的磁盘空间。使用以下命令检查磁盘使用情况:bashdf-h如果磁盘空间不足,清理一些不必......
  • opencv学习:图像下采样和上采样及拉普拉斯金字塔
    图像下采样和上采样OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像处理功能,包括图像的上采样和下采样。下采样(Downsampling)下采样是减少图像分辨率的过程,通常用于图像压缩、图像分析等场景。在OpenCV中,下采样可以通过......
  • D43 2-SAT+前缀优化 P6378 [PA2010] Riddle
    视频链接: P6378[PA2010]Riddle-洛谷|计算机科学教育新生态(luogu.com.cn)//2-SAT+前缀优化O(n+m)#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;#definex0(x)x//点#definex1(x)x+n//反点#definep0(x)x+2*n......
  • 4.3.3 OpenCV 实现 高斯金字塔和拉普拉斯金字塔
    4.3.3OpenCV实现高斯金字塔和拉普拉斯金字塔参考教程:图像处理中的高斯金字塔和拉普拉斯金字塔_拉普拉斯金字塔插入偶数行,偶数列也是用卷积算法吗-CSDN博客1.安装OpenCV1.1下载OpenCV参考教程:无法定位软件包libjasper-dev的解决办法-CSDN博客视觉slam14讲ch5opencv......
  • opencv 边缘检测-拉普拉斯算子
    索贝尔算子是模拟一阶求导,导数越大的地方说明变换越剧烈,越有可能是边缘.那如果继续对f’(t)求导呢?可以发现"边缘处"的二阶导数=0.我们可以利用这一特性去寻找图像的边缘.注意有一个问题,二阶求导为0的位置也可能是无意义的位置拉普拉斯算子推导过程以x方向求解......
  • P1637 三元上升子序列
    链接https://www.luogu.com.cn/problem/P1637题目思路事实上和求逆序对的题目有点像,但是求的是同序对(?。先回顾下树状数组求逆序对的题目。https://www.cnblogs.com/zzzsacmblog/p/18314521这个总的思路其实就是前缀和,只不过拿树状数组优化了。先给每个节点对应的值对应树......
  • lgP1637 三元上升子序列
    给定n个整数的序列A,求存在多少个三元上升子序列,即满足i<j<k并且a[i]<a[j]<a[k]。分析:用平衡树维护两侧元素,然后枚举中间元素即可。#include<bits/stdc++.h>usingllong=longlong;template<typenameTYPE>structTreap{ structNode{ TYPEdata,sum; intrnd,s......
  • 基于改进高斯-拉普拉斯滤波器的一维时间序列平滑与降噪(MATLAB)
    以图像处理为例,拉普拉斯算子是基于图像的二阶导数来找到边缘并搜索过零点,传统的拉普拉斯算子常产生双像素宽的边缘,对于较暗区域中的亮斑进行边缘检测时,拉普拉斯运算就会使其变得更亮。因此,与梯度算子一样,拉普拉斯算子不能抑制图像的噪声。如果有一种算子能够将高斯平滑滤波器与......
  • 可视化二维函数的拉普拉斯算子 - 使用有限差分法来近似计算二维标量函数的拉普拉斯算
    可视化二维函数的拉普拉斯算子-使用有限差分法来近似计算二维标量函数的拉普拉斯算子flyfish算子(Operator)是指的是一个将函数、向量或其他对象映射到另一对象的数学实体。简单来说,算子就是一种“操作”或“变换”,它把一个输入(通常是函数或向量)变换成另一个输出。算子可......
  • 代码随想录算法训练营第十三天|今天量大管饱144、145、94、102、107、199、637、429、
    今天来处理二叉树part1、2、3,顶级享受,一次到位。完全二叉树和满二叉树概念没问题。二叉搜索树,左子树所有结点的值小于它的根结点的值,右子树上所有结点的值大于它的根结点的值平衡二叉搜索树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1。二叉树的存储方式:链式存储......