A. *【STL:set】前驱问题(Predecessor Problem)

    传统题 5000ms 1024MiB

*【STL:set】前驱问题(Predecessor Problem)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

前驱问题(Predecessor Problem)

问题描述

S S 是一个由整数 0 0 N1 N-1 构成的集合。请按顺序处理以下 Q Q 个查询:

  • 0 k:若 kS k \notin S ,则将 k k 插入 S S ;若 kS k \in S ,则不做任何操作。
  • 1 k:若 kS k \in S ,则从 S S 中删除 k k ;若 kS k \notin S ,则不做任何操作。
  • 2 k:若 S S 包含 k k ,输出 1;否则输出 0
  • 3 k:输出大于等于 k k 的最小元素(若不存在,输出 -1)。
  • 4 k:输出小于等于 k k 的最大元素(若不存在,输出 -1)。

约束条件

  • 1N107 1 \leq N \leq 10^7
  • 1Q106 1 \leq Q \leq 10^6
  • 0ki<N 0 \leq k_i < N

输入格式

N QN\ Q
TT
c0 k0c_0\ k_0
c1 k1c_1\ k_1
:
cQ1 kQ1c_{Q-1}\ k_{Q-1}

其中:

  • 字符串 T T 长度为 N N ,仅含字符 '0''1'
  • S S 的初始状态为:当且仅当 Ti=1 T_i = 1 时,iS i \in S
  • 每个查询由操作码 ci c_i 和参数 ki k_i 组成(ci{0,1,2,3,4} c_i \in \{0,1,2,3,4\} )。
6 9
010101
3 3
4 3
4 0
0 4
1 3
2 4
2 3
3 3
4 3
3
3
-1
1
0
4
1

新初二 20260804上午(STL:sel+multiset 11:00考察)

未参加
状态
已结束
规则
XCPC
题目
7
开始于
2026-8-4 10:32
结束于
2026-8-4 11:32
持续时间
1 小时
主持人
参赛人数
9