2024Jiangxi_H Convolution
Description
Input
Output
Sample Input
5 5 3 3
0 -1 -1 0 0
0 1 -1 2 -2
2 -2 2 2 0
-1 0 0 -2 -1
0 -2 0 1 1
Sample Output
12
Explainion
Hint
- 卷积运算规则
- 二维前缀和
Thinking
- 这道题的题目背景是卷积运算规则。我们首先得了解卷积运算方式。我们不难发现\(K_{i,j}\) 产生的贡献是\(K_{i,j}\) × 矩阵 \(I_{i,j ~ n−k+i,m−l+j}\)的子矩阵之和。
- 于是我们就可以据此确定K矩阵的各个数字,当子矩阵和为负数时,\(K_{i,j}\) 取 −1;子矩阵和为正数时,\(K_{i,j}\) 取 1。
- 而根据上述分析,我们所需要计算的最终答案也就等于每个子矩阵各元素的绝对值之和。
- 快速求出某个子矩阵和可以用二维前缀和来实现。
- 值得注意的一点是使用cin和cout时为了提高效率记得要解除输入输出流的绑定(否则这道题可能会超时哦)。
Personal Solution
#include<bits/stdc++.h>
using namespace std;
long long num[1005][1005]={0};
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n,m,k,l;
cin>>n>>m>>k>>l;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>num[i][j];
num[i][j]=num[i][j-1]+num[i][j]+num[i-1][j]-num[i-1][j-1];
}
}
long long ct=0;
for(int i=1;i<=k;i++){
for(int j=1;j<=l;j++){
ct=ct+abs(num[n-k+i][m-l+j]-num[n-k+i][j-1]-num[i-1][m-l+j]+num[i-1][j-1]);
}
}
cout<<ct<<endl;
return 0;
}
2024Jiangxi_H Convolution的更多相关文章
- Deep Learning 10_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)
前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab ...
- 【ufldl tutorial】Convolution and Pooling
卷积的实现: 对于每幅图像,每个filter,首先从W中取出对应的filter: filter = squeeze(W(:,:,filterNum)); 接下来startercode里面将filter ...
- Understanding Convolution in Deep Learning
Understanding Convolution in Deep Learning Convolution is probably the most important concept in dee ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1
3.Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1 http://blog.csdn.net/sunbow0 ...
- Convolution and Deconvolution
1.Introduction 2.Convolution 3.Deconvolution 4.Summary
- 2D image convolution
在学习cnn的过程中,对convolution的概念真的很是模糊,本来在学习图像处理的过程中,已对convolution有所了解,它与correlation是有不同的,因为convolution = ...
- theano中对图像进行convolution 运算
(1) 定义计算过程中需要的symbolic expression """ 定义相关的symbolic experssion """ # c ...
- Deep Learning 学习随记(七)Convolution and Pooling --卷积和池化
图像大小与参数个数: 前面几章都是针对小图像块处理的,这一章则是针对大图像进行处理的.两者在这的区别还是很明显的,小图像(如8*8,MINIST的28*28)可以采用全连接的方式(即输入层和隐含层直接 ...
- 【面向代码】学习 Deep Learning(三)Convolution Neural Network(CNN)
========================================================================================== 最近一直在看Dee ...
- ufldl学习笔记和编程作业:Feature Extraction Using Convolution,Pooling(卷积和汇集特征提取)
ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰 ...
随机推荐
- FastAPI 参数别名与自动文档生成完全指南:从基础到高级实战 🚀
title: FastAPI 参数别名与自动文档生成完全指南:从基础到高级实战 date: 2025/3/10 updated: 2025/3/10 author: cmdragon excerpt: ...
- 使用PySide6/PyQt6实现Python跨平台表格数据分页打印预览处理
我曾经在前面使用WxPython开发跨平台应用程序的时候,写了一篇<WxPython跨平台开发框架之列表数据的通用打印处理>,介绍在WxPython下实现表格数据分页打印处理的过程,在Wi ...
- Windows编程----线程管理
系统中,进程主要有两部分组成:进程内核对象和进程地址空间.操作系统通过进程内核对象来管理进程,进程地址空间用于维护进程所需的资源:如代码.全局变量.资源文件等. 那么线程也是有两部分组成:线程内核对象 ...
- Laravel 配置连接多个数据库以及如何使用
目录 配置连接 配置 .env 文件 配置 \config\database.php 文件 使用 Schema Query Eloquent 配置连接 配置 .env 文件 /* 这部分是默认的数据库 ...
- Spring定时任务的秘密
Spring定时任务的秘密 在 Spring 框架中,定时任务主要通过 @Scheduled 注解或 TaskScheduler 接口实现. 1.基本使用 在 Spring Boot 项目中,通过 @ ...
- 自制一个超级简单的 php 发邮件的轮子 simpleMailTool.php
simpleMailTool 程序链接 https://github.com/kohunglee/simpleMailTool/ 一个简单的 php 发邮件的轮子,跟其他著名大轮子相比(如 PHPMa ...
- 二分查找--java进阶day06
1.二分查找 https://kdocs.cn/l/ciMkwngvaWfz?linkname=150996908 二分查找:每一次查找都从中间的元素查起,根据比较的大小来折半,以此类推,直到最后找到 ...
- final关键字、Object类--java进阶day01
1.规则 被final修饰的变量,名称都要大写,多单词的名称则需_来分隔 1.修饰方法 method方法已经不能被重写了,因为修饰该方法的是final 2.修饰类 当一个类中所有的成员方法都不想被重写 ...
- FastAPI依赖注入实践:工厂模式与实例复用的优化策略
title: FastAPI依赖注入实践:工厂模式与实例复用的优化策略 date: 2025/04/06 01:22:25 updated: 2025/04/06 01:22:25 author: c ...
- Hystrix两种隔离方式对比
在微服务架构中,我们不可避免的与Hystrix打交道,最近在面试过程中,也总是被问到Hystrix两种熔断方式的区别,今天,就给大家做个小结. 首先,Hystrix熔断方式主要有两种: 线程池隔离 ...