ZT15 小红的区间查询

server/2025/2/27 14:03:23/

描述

小红拿到了一个仅由正整数组成的数组,她有以下两种操作:

1. 输入1 i x,代表将第i个正整数修改为x。
2. 输入2 i x,代表查询前i个正整数有多少个数等于x。

输入描述:

第一行输入两个正整数n和q,代表数组长度和操作次数。
第二行输入n个正整数ai​,代表初始的数组。
接下来的q行,每行输入三个正整数op,i,x,用空格隔开,其中op代表操作的类型,i和x的含义见题目描述。
1≤n,q,ai​,x≤200
1≤op≤2
1≤i≤n
保证至少有1次询问操作。

输出描述:

对于每次询问,输出一个整数,代表查询的结果。

示例1

输入:

5 3
1 2 3 4 5
2 3 1
1 1 2
2 3 1

输出:

1
0

说明:

第一次为查询操作,此时数组为[1,2,3,4,5],前三个数中有一个1。
第二次为修改操作,将数组修改为[2,2,3,4,5]。
第三次为查询操作,此时数组为[2,2,3,4,5],前三个数中没有1。
一、问题分析

首先读题,仔细看描述中的内容,发现需求是

1.有一个数组

2.可以对数组进行两种操作

3.第一种操作是将i位置的值修改为x

4.第二种操作是查询前i个位置中值等于x的数字有多少

5.输出查询结果

二、解题思路

1.首先读取数据

2.根据操作符号不同,对数组进行相关的操作

三、具体步骤

使用的语言是C

#include <stdio.h>
#include <stdlib.h>
int main() {int n, q;if (scanf("%d %d", &n, &q) != EOF) {// printf("n is %d q is %d\n", n, q);int* a = (int*)malloc(sizeof(int) * n);for(int i = 0; i < n; i++) {scanf("%d", &a[i]);}int op, i ,x;for(int time = 0; time < q; time++) {scanf("%d %d %d", &op, &i, &x);// printf("%d %d %d\n", op, i, x);if(op == 1) { // 代表是修改操作a[i - 1] = x;} else if(op == 2) { // 查询操作int count = 0;for(int j = 0; j < i; j++) {if(a[j] == x) count++;}printf("%d\n", count);} else {printf("error2");}}free(a);} else {printf("error");}return 0;
}


http://www.ppmy.cn/server/171051.html

相关文章

MFC文件和注册表的操作

MFC文件和注册表的操作 日志、操作配置文件、ini、注册表、音视频的文件存储 Linux下一切皆文件 C/C操作文件 const char* 与 char* const const char* 常量指针&#xff0c;表示指向的内容为常量。指针可以指向其他变量&#xff0c;但是内容不能再变了 char szName[6]&qu…

火语言RPA--Excel添加Sheet页

【组件功能】&#xff1a;新增Excel工作区 配置预览 配置说明 Sheet页名称 支持T或# Excel工作簿名称。 示例 添加Excel工作簿 描述 添加一个新的Excel文档Sheet 新工作簿。 配置 第一步&#xff1a;打开或新建一个Excel文档&#xff0c;拖入 Excel添加Sheet页组件&am…

策略模式环境类的实现方式对比

文章目录 1、策略模式2、聚合策略类实现方式一3、聚合策略类实现方式二4、对比5、补充&#xff1a;ApplicationContextAware接口 1、策略模式 近期工作中&#xff0c;需要处理4.x和5.x两个版本的数据&#xff0c;所以自然想到的是策略模式&#xff0c;写一个抽象类&#xff0c…

PySpark实现Snowflake数据导出到Amazon Redshift

编写AWS EMR上的高性能PySpark代码&#xff0c;实现用SQL从Snowflake上下载数据到S3里的parquet文件&#xff0c;并导入Redshift表。 步骤一&#xff1a;配置EMR集群 首先确保您已经在AWS EMR上正确地设置了包含适当权限的角色和安全组的集群。该角色应允许访问Snowflake数据…

Python 基本语法的详细解释

目录 &#xff08;1&#xff09;注释 &#xff08;2&#xff09;缩进 &#xff08;3&#xff09;变量和数据类型 变量定义 数据类型 &#xff08;4&#xff09;输入和输出 输出&#xff1a;print() 函数 输入&#xff1a;input() 函数 &#xff08;1&#xff09;注释 注…

如何最小化Spark中的Shuffle开销

在Spark中&#xff0c;Shuffle是指数据在不同节点之间重新分配的过程&#xff0c;这个过程通常会涉及大量的数据传输和磁盘读写&#xff0c;消耗大量的计算和网络资源&#xff0c;因此是Spark作业中的一个性能瓶颈。为了最小化Spark中的Shuffle开销&#xff0c;可以采取以下策略…

智慧物流小程序(论文源码调试讲解)

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…

Mellanox的LAG全称是什么?网卡的创建机制如何?(Link Aggregation Group 链路聚合组)

背景 对于双端口的网卡&#xff0c;有时候有将链路聚合的需求。在Mellanox网卡上通过LAG提供。对于RoCE的报文在Mellanox上也可以通过LAG来完成报文收发&#xff0c;叫做RoCE over LAG。但是仅仅适用于双端口卡。 关键点 LAG&#xff1a; Link Aggregation Group (LAG) 链路…