csp22前2题

一幅长宽分别为 nn 个像素和 mm 个像素的灰度图像可以表示为一个 n×mn×m 大小的矩阵 AA。

其中每个元素 AijAij(0≤i<n0≤i<n、0≤j<m0≤j<m)是一个 [0,L)[0,L) 范围内的整数,表示对应位置像素的灰度值。

具体来说,一个 88 比特的灰度图像中每个像素的灰度范围是 [0,256)[0,256)。

一副灰度图像的灰度统计直方图(以下简称“直方图”)可以表示为一个长度为 LL 的数组 hh,其中 h[x]h[x](0≤x<L0≤x<L)表示该图像中灰度值为 xx 的像素个数。

显然,h[0]h[0] 到 h[L−1]h[L−1] 的总和应等于图像中的像素总数 n⋅mn⋅m。

已知一副图像的灰度矩阵 AA,试计算其灰度直方图 h[0],h[1],⋯,h[L−1]h[0],h[1],⋯,h[L−1]。

输入格式

输入共 n+1n+1 行。

输入的第一行包含三个用空格分隔的正整数 nn、mm 和 LL,含义如前文所述。

第二到第 n+1n+1 行输入矩阵 AA。第 i+2i+2(0≤i<n0≤i<n)行包含用空格分隔的 mm 个整数,依次为 Ai0,Ai1,⋯,Ai(m−1)Ai0,Ai1,⋯,Ai(m−1)。

输出格式

输出仅一行,包含用空格分隔的 LL 个整数 h[0],h[1],⋯,h[L−1]h[0],h[1],⋯,h[L−1],表示输入图像的灰度直方图。

数据范围

0<n,m≤5000<n,m≤500,
4≤L≤2564≤L≤256

输入样例1:
4 4 16
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
输出样例1:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
输入样例2:
7 11 8
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0
输出样例2:
48 0 0 0 0 0 0 29
#include <bits/stdc++.h>
using namespace std;
const int N = 505;
int n, m, l;
int g[N][N];
int main()
{cin >> n >> m >> l;map<int, int> mp;for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){int x;cin >> x;mp[x] += 1;}}for(int i = 0; i < l; i++){cout << mp[i]  << " ";}
}

邻域均值

  •    题目
  •    提交记录
  •    讨论
  •    题解
  •    视频讲解

顿顿在学习了数字图像处理后,想要对手上的一副灰度图像进行降噪处理。

不过该图像仅在较暗区域有很多噪点,如果贸然对全图进行降噪,会在抹去噪点的同时也模糊了原有图像。

因此顿顿打算先使用邻域均值来判断一个像素是否处于较暗区域,然后仅对处于较暗区域的像素进行降噪处理。

待处理的灰度图像长宽皆为 nn 个像素,可以表示为一个 n×nn×n 大小的矩阵 AA,其中每个元素是一个 [0,L)[0,L) 范围内的整数,表示对应位置像素的灰度值。

对于矩阵中任意一个元素 AijAij(0≤i,j<n0≤i,j<n),其邻域定义为附近若干元素的集和:

Neighbor(i,j,r)={Axy|0≤x,y<n and |x−i|≤r and |y−j|≤r}Neighbor(i,j,r)={Axy|0≤x,y<n and |x−i|≤r and |y−j|≤r}

这里使用了一个额外的参数 rr 来指明 AijAij 附近元素的具体范围。

根据定义,易知 Neighbor(i,j,r)Neighbor(i,j,r) 最多有 (2r+1)2(2r+1)2 个元素。

如果元素 AijAij 邻域中所有元素的平均值小于或等于一个给定的阈值 tt,我们就认为该元素对应位置的像素处于较暗区域

下图给出了两个例子,左侧图像的较暗区域在右侧图像中展示为黑色,其余区域展示为白色。

1.png

现给定邻域参数 rr 和阈值 tt,试统计输入灰度图像中有多少像素处于较暗区域

输入格式

输入共 n+1n+1 行。

输入的第一行包含四个用空格分隔的正整数 nn、LL、rr 和 tt,含义如前文所述。

第二到第 n+1n+1 行输入矩阵 AA。第 i+2i+2(0≤i<n0≤i<n)行包含用空格分隔的 nn 个整数,依次为 Ai0,Ai1,⋯,Ai(n−1)Ai0,Ai1,⋯,Ai(n−1)。

输出格式

输出一个整数,表示输入灰度图像中处于较暗区域的像素总数。

数据范围

70%70% 的测试数据满足 n≤100n≤100、r≤10r≤10。
全部的测试数据满足 0<n≤6000<n≤600、0<r≤1000<r≤100 且 2≤t<L≤2562≤t<L≤256。

输入样例1:
4 16 1 6
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
输出样例1:
7
输入样例2:
11 8 2 2
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
输出样例2:
83

#include <bits/stdc++.h>
using namespace std;
const int N = 605;
int a[N][N];
int n, l, r, t;
int solve(int x1, int y1, int x2, int y2)
{
//   cout << a[x2][y2] - a[x2][y1 - 1] - a[x1 - 1][y2] + a[x1][y1] << endl;return a[x2][y2] - a[x2][y1 - 1] - a[x1 - 1][y2] + a[x1-1][y1-1];}
int main()
{int res = 0;cin >> n >> l >> r >> t;for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){cin >> a[i][j];a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];}}// for(int i = 1; i <= n; i++)// {//     for(int j = 1; j <= n; j++)//     {//         cout << a[i][j] << " ";//     }//     cout << endl;// }for(int x = 1; x <= n; x++){for(int y = 1; y <= n; y ++){int cnt = 0;int min_x = max(1, x - r), max_x = min(n, x + r);int min_y = max(1, y - r), max_y = min(n, y + r);// cout << min_x << " " << min_y <<" " << max_x << " " <<  max_y <<endl;cnt = (max_y - min_y + 1) * (max_x - min_x + 1);if(solve(min_x, min_y, max_x, max_y) <= t * cnt) res++;}}cout << res << endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《汽车与驾驶维修》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答&#xff1a; 问&#xff1a;《汽车与驾驶维修》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第二批认定学术期刊。 问&#xff1a;《汽车与驾驶维修》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;中国机械工业联合会…

web前端1--基础

&#xff08;时隔数月我又来写笔记啦~&#xff09; 1、下载vscode 1、官网下载&#xff1a;Visual Studio Code - Code Editing. Redefined 2、步骤&#xff1a; 1、点击同意 一直下一步 勾一个创建桌面快捷方式 在一直下一步 2、在桌面新建文件夹 拖到vscode图标上 打开v…

MySQL面试题2025 每日20道【其一】

1、MySQL 中的数据排序是怎么实现的&#xff1f; 简单 在 MySQL 中&#xff0c;数据排序是通过 ORDER BY 子句来实现的。当你执行一个查询语句时&#xff0c;可以在 SELECT 语句的末尾添加 ORDER BY 来指定按照哪个列进行排序&#xff0c;以及升序&#xff08;ASC&#xff09;…

vue 学习笔记 - 创建第一个项目 idea

1、安装Vue CLI 查看npm版本号 &#xff08;可跳过&#xff09; % npm -v 11.0.0安装Vue CLI % npm install -g vue/cli2、创建项目 进入工程文件目录 % cd /Users/ruizhifeng/work/aina-client查看vue 版本号 &#xff08;可跳过&#xff09; % vue --version vue/cli 5…

网络安全---CMS指纹信息实战

CMS简介 CMS&#xff08;Content Management System&#xff09;指的是内容管理系统&#xff0c;如WordPress、Joomla等。CMS系统非常常见&#xff0c;几乎所有大型网站都使用CMS来管理其网站的内容。由于常见CMS的漏洞较多&#xff0c;因此黑客将不断尝试利用这些漏洞攻击CMS…

基于SSM的自助购药小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

anaconda安装和环境配置

文章目录 一、Anaconda下载1.从官网直接下载&#xff1a;2.从镜像站中下载&#xff1a; 二、Anaconda安装三、检测是否有Anaconda配置anaconda环境 四、 Anaconda创建多个python环境&#xff08;方便管理项目环境&#xff09;1.查看conda有哪些环境2.创建python3.6的环境3.激活…

DDD - 如何设计支持快速交付的DDD技术中台

文章目录 Pre概述打造快速交付团队烟囱式的开发团队(BAD)大前端技术中台(GOOD) 技术中台的特征简单易用的技术中台建设总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对象的两种设计思路…

Agent AI: 强化学习,模仿学习,大型语言模型和VLMs在智能体中的应用

Agent AI: 强化学习,模仿学习,大型语言模型和VLMs在智能体中的应用 “Agent AI: Surveying the Horizons of Multimodal Interaction”主要探讨了 Agent AI 技术,包括其在多模态交互中的应用、面临的问题及解决方案。Agent AI 是一种能在不同环境中感知和行动的智能体系统,…

二、模型训练与优化(5):验证优化后的模型

目录 一、在 PC 上使用 TFLite Python Interpreter 进行推理 1. 安装 TFLite Python Interpreter 2. 编写推理验证脚本 脚本说明&#xff1a; 3. 性能测试&#xff08;可选&#xff09; 二、在嵌入式平台&#xff08;STM32Cube.AI&#xff09;上验证 在嵌入式平台上对比…

【Golang 面试题】每日 3 题(三十六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

【C++】结构体(下)

4、结构体指针 作用&#xff1a;通过指针访问结构体中的成员 利用操作符“----->”可以通过结构体指针访问结构体成员。 示例&#xff1a; #include<iostream> #include<string> using namespace std; struct student {//姓名string name;//年龄int age;//分数…

LLMs之Dataset:中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略

LLMs之Dataset&#xff1a;中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略 目录 中文互联网基础语料2.0的简介 1、特点 中文互联网基础语料2.0的下载和使用方法 中文互联网基础语料2.0的案例应用 中文互联网基础语料2.0的简介 2025年1月发布&#xff0…

Android Studio:Linux环境下安装与配置

更多内容&#xff1a;XiaoJ的知识星球 Android Studio&#xff1a;Linux环境下安装与配置 1.安装JDK2.安装Android Studio2.1 获取安装包2.2 安装&#xff08;1&#xff09;配置环境变量&#xff1a;&#xff08;2&#xff09;运行安装&#xff1a;&#xff08;3&#xff09;配…

道格拉斯-普克算法(DP)轮廓点精简(Python)

1、介绍 道格拉斯-普克算法由David H. Douglas和Thomas K. Peucker于1973年提出&#xff0c;主要用于简化曲线或折线。而实际中&#xff0c;激光点云的边缘点非常粗糙&#xff0c;如果直接将点进行连接&#xff0c;锯齿问题严重。经过DP算法处理后&#xff0c;数据显示会比较光…

【机器学习实战入门项目】使用深度学习创建您自己的表情符号

深度学习项目入门——让你更接近数据科学的梦想 表情符号或头像是表示非语言暗示的方式。这些暗示已成为在线聊天、产品评论、品牌情感等的重要组成部分。这也促使数据科学领域越来越多的研究致力于表情驱动的故事讲述。 随着计算机视觉和深度学习的进步&#xff0c;现在可以…

【unity进阶篇】不同Unity版本对应的C# 版本和API 兼容级别(Api Compatibility Level)选择

考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…

线段树优化dp,abc389F - Rated Range

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 F - Rated Range 二、解题报告 1、思路分析 考虑定义 f(i, j) 为 初始分…

MySQL 主从复制原理及其工作过程的配置

一、MySQL主从复制原理 MySQL 主从同步是一种数据库复制技术&#xff0c;它通过将主服务器上的数据更改复制到一个或多个从服务器&#xff0c;实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器&#xff0c;并在从服务器上执行这些日志中的操作…

Linux——线程条件变量(同步)

Linux——多线程的控制-CSDN博客 文章目录 目录 文章目录 前言 一、条件变量是什么&#xff1f; 1、死锁的必要条件 1. 互斥条件&#xff08;Mutual Exclusion&#xff09; 2. 请求和保持条件&#xff08;Hold and Wait&#xff09; 3. 不可剥夺条件&#xff08;No Preemption&…