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/2 updated: 2025/3/2 author: cmdragon excerpt: 通过咖啡店 ...
- Feedalyze - 让你听得见、听得清用户的反馈
满足用户需求,解决用户问题,获得适当报酬是商业成功最为重要的因素.然而扪心自问,当您推出新产品后,您真的在听.听得见.听得清用户的反馈么? 当今信息传播迅猛,渠道繁多,优秀产品随口碑效应供不应求,劣质 ...
- layui 点击链接复制内容到剪切板
var tableObj = table.render({ id: 'list_table', elem: '#list_table', url: '', align: "center&qu ...
- CATIA速成
1.草图编辑器 1.指南针视图操作 指南针可以完成模型移动,旋转等视图操作 红色方点:移动指南针 白色圆点:视图旋转 指南针附着在部件上,操控部件旋转平移: 红色方点-移动.附着到部件上-视图操作.( ...
- 【ABAQUS Material】density 行为
1.overview 进行eigenfrequency . transient dynamic analysis. transient heat transfer analysis. adiabati ...
- C系统级编程-复习
数组对象类型 Array of Type,它是多个相同对象类型的一维派生类型,包含两要素:元素个数,元素的对象类型 所谓多维数组,不过是元素的迭代衍生,本质还是一维的 声明 对象标识的名称 对象类型 ...
- 告别手动敲代码!VSCODE 风格在线可视化开发平台,效率飙升!
2025 年 2 月 21 日消息,对于广大开发者而言,今天迎来一则重大利好消息!一款操作布局与 VSCODE 极为相似的可视化开发神器 --Joker 智能可视化开发平台正式上线.无论你是深耕前端领 ...
- 面试题-Spring和Springboot框架
前言 spring框架部分的题目,是我根据Java Guide的面试突击版本V3.0再整理出来的,其中,我选择了一些比较重要的问题,并重新做出相应回答,并添加了一些比较重要的问题,希望对大家起到一定的 ...
- sql server2005的阻塞和死锁
检查死锁及阻塞也可参考: sys.sysprocesses 能显示会话进程有多少, 等待时间, open_tran有多少事务, 阻塞会话是多少. 整体内容更为详细. 关键字段说明: spid 会话ID ...
- Docker中的Gitlab数据迁移
一.选择版本 GitLab 12.2或更高版本: docker exec -t gitlab-backup create GitLab 12.1和更早版本: gitlab-rake gitla ...