AcWing第 105 场周赛

news2024/9/29 3:20:10

    AcWing 5029. 极值数量

给定一个长度为 n� 的整数数组 a1,a2,…,an�1,�2,…,��。

如果一个元素左右两边均有相邻元素(也就是不位于数组的两端),且满足以下两个条件之一:

  • 该元素的值严格大于其左右相邻元素的值
  • 该元素的值严格小于其左右相邻元素的值

则称该元素为一个极值元素。

请你计算,给定数组中有多少个极值元素。

输入格式

第一行包含整数 n�。

第二行包含 n� 个整数 a1,a2,…,an�1,�2,…,��。

输出格式

一个整数,表示极值元素的数量。

数据范围

前 33 个测试点满足 1≤n≤51≤�≤5。
所有测试点满足 1≤n≤10001≤�≤1000,1≤ai≤10001≤��≤1000。

输入样例1:

3
1 2 3

输出样例1:

0

输入样例2:

4
1 5 2 5

输出样例2:

2
#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n];
    int cnt = 0;
    for(int i=0;i<n;i++){
        cin>>a[i];

    }
    for(int i=0;i<n;i++){
        if(i!=0&&i!=n-1){
            if(a[i]<a[i-1]&&a[i]<a[i+1]) cnt++;
            if(a[i]>a[i-1]&&a[i]>a[i+1]) cnt++;
        }
    }
    cout<<cnt; 
    return 0;
} 

     AcWing 5030. 核心元素

给定一个长度为 n� 的整数数组 a1,a2,…,an�1,�2,…,��,数组中的每个元素都是一个 1∼n1∼� 之间的整数。

我们规定,数组中出现次数最多的元素为数组的核心元素,例如数组 [1,1,1,2,3][1,1,1,2,3] 的核心元素为 11。

此外,如果数组中出现次数最多的元素不唯一,则出现次数最多的元素中数值最小的那个元素为数组的核心元素,例如数组 [1,2,2,3,3][1,2,2,3,3] 的核心元素为 22。

对于 1≤i≤n1≤�≤� 的每个整数 i�,请你计算有多少个给定数组的非空连续子数组的核心元素为 i�。

输入格式

第一行包含整数 n�。

第二行包含 n� 个整数 a1,a2,…,an�1,�2,…,��。

输出格式

共一行,输出 n� 个整数,其中第 i� 个整数表示给定数组中核心元素为 i� 的非空连续子数组的数量。

数据范围

前 33 个测试点满足 1≤n≤101≤�≤10。
所有测试点满足 1≤n≤50001≤�≤5000,1≤ai≤n1≤��≤�。

输入样例1:

4
1 2 1 2

输出样例1:

7 3 0 0

输入样例2:

3
1 1 1

输出样例2:

6 0 0
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int N = 5010;

int a[N];

int cnt[N][5010];
int ans[N];
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i ++ )
    {
        scanf("%d",&a[i]);
        for(int j=1;j<=n;j++)
        {
            if(j==a[i]) cnt[i][j]=cnt[i-1][j]+1;
            else cnt[i][j]=cnt[i-1][j];//每个数字出现次数的前缀和
        }
    }
    for(int i=1;i<=n;i++)
    {
        ans[a[i]]++;
        int id=a[i];
        int mx=1;
        for(int j=i+1;j<=n;j++)
        {
            //cout<<i<<" "<<j<<" "<<id<<endl;
            if(cnt[j][a[j]]-cnt[i-1][a[j]]>mx || (cnt[j][a[j]]-cnt[i-1][a[j]]==mx && a[j]<id))
            {
                mx=cnt[j][a[j]]-cnt[i-1][a[j]];//直接进行比较,每新遍历一个数就与原来的最大值比较
                id=a[j];
            }
            ans[id]++;
        }
    }
    for(int i=1;i<=n;i++) printf("%d ",ans[i]);
}

    AcWing 5031. 矩阵扩张

给定一个 1×11×1 的方格矩阵,方格为白色:

你需要对该矩阵进行 k� 次扩张操作,并输出最终得到的矩阵。

扩张操作的具体规则如下。

首先,给定一个 n×n�×� 的方格矩阵,其中的每个方格要么是白色,要么是黑色,称此矩阵为模板矩阵。

在进行扩张操作时,当前矩阵中的每个方格都将扩张为一个 n×n�×� 的方格矩阵,其中:

  • 每个白色方格扩张得到的方格矩阵与模板矩阵相同。
  • 每个黑色方格扩张得到的方格矩阵只包含黑色方格。

下面举例进行说明。

令 n=2,k=3�=2,�=3,模板矩阵如下所示:

每一次扩张时,每个白色方格会扩张为

每一次扩张时,每个黑色方格会扩张为

第 11 次扩张后,得到一个 2×22×2 的方格矩阵:

第 22 次扩张后,得到一个 22×2222×22 的方格矩阵:

第 33 次扩张后,得到一个 23×2323×23 的方格矩阵:

这就是最终得到的矩阵。

输入格式

第一行包含两个整数 n,k�,�。

接下来 n� 行,每行包含 n� 个字符,每个字符要么为 .,要么为 *,其中第 i� 行第 j� 个字符用来描述模板矩阵第 i� 行第 j� 列的方格颜色,. 表示白色,* 表示黑色。

保证模板矩阵中至少包含一个白色方格。

输出格式

输出一个 nk×nk��×�� 的字符矩阵,用来表示最终得到的矩阵。

. 表示白色方格,* 表示黑色方格。

数据范围

所有测试点满足 2≤n≤32≤�≤3,1≤k≤51≤�≤5。

输入样例1:

2 3
.*
..

输出样例1:

.*******
..******
.*.*****
....****
.***.***
..**..**
.*.*.*.*
........

输入样例2:

3 2
.*.
***
.*.

输出样例2:

.*.***.*.
*********
.*.***.*.
*********
*********
*********
.*.***.*.
*********
.*.***.*.

 

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 5010;
char s[N][N],g[N][N];
char a[N][N];
int n,m,k;
int main()
{
    cin>>n>>k;
    int kk=k;
    int m=n;
    k--;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)
            cin>>a[i][j],s[i][j]=a[i][j];
    }
    while(k--){
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(s[i][j]=='.')
                {
                    for(int x=0;x<m;x++){
                        for(int y=0;y<m;y++)
                        {
                            g[i*m+x][j*m+y]=a[x][y];    
                        }
                    }
                }
return 0;
}

 

 

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

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

相关文章

RK3588平台开发系列讲解(基础篇)Linux 内核有多少 API 接口

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、Linux 内核有多少 API 接口二、Linux 系统调用表三、Linux 系统调用实现3.1、申明系统调用3.2、定义系统调用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 作为比较成熟的操作系统,功能完善,它…

apache的配置和应用

文章目录 一、httpd服务支持的虚拟主机类型包括以下三种:二、构建Web虚拟目录与用户授权限制三、日志分割四、 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。通过虚拟 We…

Flume实现Kafka数据持久化存储到HDFS

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

eclipse连接mysql全网最详细教程

第一步&#xff1a;我们先做连接前的环境准备工作 1、首先在MySQL官网下载驱动&#xff1a;&#xff08;下载地址博主给大家整理好了直用&#xff09; https://dev.mysql.com/downloads/file/?id498587 下下来是这个样子 2、在eclipse中新建一个工程 3、添加驱动到eclipse里…

小主机折腾记12 HP 285G3 PRO MT

五一期间&#xff0c;无事&#xff0c;咸鱼购入HP 285G3 PRO MT折腾 HP 285 PRO G3 MT准系统 150包邮 R5 2600 250包邮 金百达3200内存 229京东包邮 直接说准系统情况&#xff1a; 1.主机有三个sata接口&#xff0c;两个硬盘接口&#xff0c;一个光驱接口&#xff08;应该是可以…

BM1684X开发环境搭建--SOC mode

环境配置-SOC模式---------------------------------------- 1&#xff1a;对于SoC模式&#xff0c;模型转换也需要在docker开发容器中完成&#xff1b;C/C程序建议在x86主机上使用交叉编译工具链编译生成可执行文件后&#xff0c;再拷贝到SoC目标平台运行&#xff1b; 2&…

macOS运行软件提示:“嘉立创EDA.app” 已损坏,无法打开。你应该将它移到废纸篓。

一、问题描述 macOS运行软件提示&#xff1a;“嘉立创EDA.app” 已损坏&#xff0c;无法打开。你应该将它移到废纸篓。 二、问题分析 macOS安全性问题导致的。 三、解决方案 1、在系统设置、隐私与安全性、安全性、允许从以下位置下载的应用程序中&#xff0c;选择“任何来…

OpenLDAP 搭建及简单使用

文章目录 1、前言LDAPOpenLDAP 2、安装&#xff08;通过 Docker 部署&#xff09;环境说明镜像说明部署客户端&验证连接示例 总结 1、前言 LDAP 轻型目录访问协议&#xff08;英文&#xff1a;Lightweight Directory Access Protocol&#xff0c;缩写&#xff1a;LDAP&am…

java.awt.datatransfer.Clipboard剪切板复制粘贴String

java.awt.datatransfer.Clipboard剪切板复制粘贴String java.awt.Toolkit 是一个可用来获取操作剪切板的工具 Toolkit toolkit Toolkit.getDefaultToolkit(); 获得 tookit Clipboard systemClipboard toolkit.getSystemClipboard(); 获得操作系统级的剪切板 Toolkit toolk…

算法基础学习笔记——⑬高斯消元\组合计数\容斥原理

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨高斯消元 ✨组合计数 &#x1f353;通过预处理逆元的方式求组合数: &#x1f353;Lucas定理: &#x1f353;分解质因数法求组合数&#xff1a; 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需…

【小可爱专属教程】服务器配置环境

【小可爱专属教程】服务器配置环境 安装CUDA和CUDNN安装CUDA安装CUDNN 安装Anaconda3安装Pytorch 安装CUDA和CUDNN 安装CUDA 文件已经上传至百度网盘 链接&#xff1a;https://pan.baidu.com/s/1LKzZXtSr1kXOnlfbO0cmEw?pwdgfbb 提取码&#xff1a;gfbbsudo sh cuda_11.3.…

【技术解决方案】(多级)缓存架构最佳实践

凌晨三点半了&#xff0c;太困了&#xff0c;还差一些&#xff0c;明天补上… 因为自己最近做的项目涉及到了缓存&#xff0c;所以水一篇缓存相关的文章&#xff0c;供大家作为参考&#xff0c;若发现文章有纰漏&#xff0c;希望大家多指正。 缓存涉及到的范围颇广&#xff0c…

spring boot整合Swagger2(2.9.2版本)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

计算机组成原理-中央处理器-指令流水线和多处理器

目录 一、指令流水线基本概念 1.1影响流水线的因素 1.1.1结构相关(资源冲突) 1.1.2 数据相关(数据冲突) 1.1.3 控制相关(控制冲突) 1. 2 流水线分类 二、流水线的多发技术 2.1 超标量技术 2.2 超流水技术 2.3 超长指令字 三、五段式指令流水线 四、多处理器系统基本概念…

I.MX RT1170加密启动详解(1):Encrypted Boot image组成

使用RT1170芯片构建的所有平台一般都是高端场合&#xff0c;我们需要考虑软件的安全需求。该芯片集成了一系列安全功能。这些特性中的大多数提供针对特定类型攻击的保护&#xff0c;并且可以根据所需的保护程度配置为不同的级别。这些特性可以协同工作&#xff0c;也可以独立工…

chatgpt赋能python:Python中的区间:什么是区间(Interval),如何使用区间

Python 中的区间&#xff1a;什么是 区间&#xff08;Interval&#xff09;&#xff0c;如何使用区间 在Python中&#xff0c;区间&#xff08;Interval&#xff09;是一个广泛使用的数据结构&#xff0c;用于表示一段连续的数据范围。使用区间可以更方便地处理各种数据类型&a…

本地搭建CFimagehost私人图床【公网远程访问】

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

代码随想录算法训练营第四十一天 | 力扣 343. 整数拆分, 96.不同的二叉搜索树

343. 整数拆分 题目 343. 整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 解析 1.确定dp数组&#xff08;dp table&#xff09;以及下标的…

史上最详细的使用Claude和接入Claude-api教程

是什么&#xff08;What&#xff09; Claude 是最近新开放的一款 AI 聊天机器人&#xff0c;是世界上最大的语言模型之一&#xff0c;比之前的一些模型如 GPT-3 要强大得多&#xff0c;因此 Claude 被认为是 ChatGPT 最有力的竞争对手。Claude 的研发公司是专注人工智能安全和研…

Java制作520表白代码——爱一个人需要理由吗?

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;Java经典程序设计 520表白日&#xff0c;每个人都期待着浪漫的表白&#xff0c;而作为一名热爱编程的程序员&#xff0c;我决定用程序员的方式来向你表达我的爱意。 在2023年5月20日这个特殊的日子里&#xff0c;我要用一段特别的…