Type: Default 1000ms 256MiB

tuple模板题

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

现有一个存储元组(Tuple) 的容器(元组元素为整数,长度固定为3),支持以下操作:插入元组、查询元组、按指定位置元素排序、截取子容器和统计元素出现次数。元组不可修改(若需修改,需先删除原元组再插入新元组)。具体规则如下:

  1. 插入操作:在容器末尾插入一个3元组。
  2. 查询操作:获取指定索引的元组。
  3. 排序操作:按元组中指定位置(1、2、3,对应元组的第1、2、3个元素)的元素升序排序;若该位置元素相同,按元组整体升序(依次比较后续元素)。
  4. 截取操作:截取容器中从索引lr(包含lr)的子容器(原容器不变),并输出子容器中的元组。若lr不合法,输出空。
  5. 统计操作:统计指定整数在所有元组的所有位置中出现的总次数。

操作完成后,需输出最终容器中所有元组(按存储顺序)及元组总个数。

输入格式

  • 第一行输入一个整数q1 ≤ q ≤ 1000000),表示操作的总次数。
  • 接下来q行,每行表示一次操作,格式如下:
    • 插入操作1 a b c(插入元组(a, b, c))。
    • 查询操作2 idx(查询索引为idx的元组,索引从0开始)。
    • 排序操作3 pos(按元组中第pos个元素升序排序,pos为1、2、3)。
    • 截取操作4 l r(截取索引lr的子容器)。
    • 统计操作5 x(统计整数x在所有元组中出现的总次数)。

输出格式

  • 对于每次查询操作(操作2),输出元组的三个元素,用空格分隔;
  • 对于每次截取操作(操作4):
    • lr合法(0 ≤ l ≤ r < 容器长度),按顺序输出子容器中的元组,每个元组占一行(元素用空格分隔);
    • 若不合法,不输出任何内容。
  • 对于每次统计操作(操作5):输出一行整数,表示指定整数的总出现次数。
  • 所有操作完成后:
    • 第一行输出元组总个数;
    • 接下来每行输出一个元组(元素用空格分隔),按存储顺序;若容器为空,仅输出0。

样例 1 输入

7
1 3 1 2
1 2 2 2
1 1 3 2
3 3
2 0
5 2
4 0 1

样例 1 输出

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

样例说明

  1. 插入操作:依次插入(3,1,2)(2,2,2)(1,3,2),容器初始为[(3,1,2), (2,2,2), (1,3,2)]
  2. 排序操作:按第3个元素(元组的第3个元素)升序排序。三个元组的第3个元素均为2,继续按整体升序排序,结果为[(2,2,2), (1,3,2), (3,1,2)](比较规则:先比较第1元素,2 < 1不成立,1 < 3成立,故(1,3,2)(3,1,2)前;再比较(2,2,2)(1,3,2),1 < 2,故(1,3,2)应在(2,2,2)前?此处修正:实际排序后应为[(1,3,2), (2,2,2), (3,1,2)],因第1元素1 < 2 < 3)。
  3. 查询操作:索引0的元组为(1,3,2)?(根据正确排序逻辑修正后)输出1 3 2(原样例输出为演示,此处以逻辑为准)。
  4. 统计操作:整数2在元组中出现的位置:(3,1,2)的第3位、(2,2,2)的第1、2、3位、(1,3,2)的第3位,共5次,输出5。
  5. 截取操作:截取索引0到1的子容器,输出这两个元组。
  6. 最终输出:总个数3,按顺序输出所有元组。

测试点约束

  • 操作次数 q ≤ 1000000
  • 元组元素及统计的整数x的取值范围为int(-2^31 ~ 2^31-1)。
  • 排序操作的pos仅为1、2、3。
  • 保证pos合法
  • 3、4操作最多各出现一次

提示

  • 元组特性:元组不可修改,若需变更元素,需通过“删除+插入”实现(本题未涉及删除,可简化为直接维护可修改的列表模拟元组)。
  • 排序逻辑:按指定位置元素为第一关键字,元组整体为第二关键字升序。
  • 截取边界:需严格检查lr的合法性(l ≤ r且均在有效索引范围内)。

7.25造数据

Not Attended
Status
Done
Rule
IOI
Problem
13
Start at
2025-7-25 18:00
End at
2025-7-25 21:00
Duration
3 hour(s)
Host
Partic.
9