SP20673 CNTINDX - Count The Indexes

题目描述

让我们来操作一个数组,这是计算机科学中最基础的数据结构之一。你需要完成几种操作,具体有以下三种: 1. 在数组末尾插入一个数。 2. 删除数组的最后一个数,即最近插入的那个数。 3. 给定一个数和两个下标 $i$ 和 $j$(满足 $i \leq j$),请你计算这个数在数组中从第 $i$ 到第 $j$ 位置出现了多少次。 初始时,数组为空。

输入格式

输入包含一个测试用例。第一行是整数 $Q$($1 \leq Q \leq 200000$),表示操作的总数。接下来的 $Q$ 行每行表示一个操作,格式如下: - `1 x`:表示在数组末尾插入数字 $x$,其中 $1 \leq x \leq 200000$。 - `0`:表示删除数组的最后一个数。 - `2 x i j`:表示查询数字 $x$ 在从 $i$ 到 $j$ 位置出现了多少次。保证数组中一定存在数字 $x$,且 $1 \leq i \leq j \leq$ 数组的长度。

输出格式

对于删除操作,如果数组已为空,输出 "invalid"(不带引号);否则无需输出任何内容。对于类型 3 的查询操作,输出一个整数,表示数字 $x$ 在从 $i$ 到 $j$ 位置出现的次数。 **本翻译由 AI 自动生成**