#L0059. 排练厅档期管理
排练厅档期管理
题目背景
形式化题意:
你需要维护一个在数轴上的线段的集合 ,支持两种操作:
A l r 表示将 中所有与线段 相交的线段删去,并将 加入 中。
B 查询 中的元素数量。
对于 A 操作,每次还需输出删掉的元素个数。
题目描述
星光艺术中心有一间排练厅,可以提供给各个社团排练节目。
大多数排练都需要连续占用好几天(个别只需要一天),而排练厅只有一间,所以不同排练的档期不能冲突:前一场排练的结束日期必须早于后一场的开始日期。因此,要接受一份新的档期申请,就必须推掉所有与它冲突的已接受申请。
一般来说,如果艺术中心先前已经接受了某份申请(例如 日到 日),就不会再接受与之冲突的申请(例如 日到 日)。但有时出于经营考虑,中心也会为了接下一份新申请,而推掉一个甚至几个先前接受的预约。(本题中为方便起见,所有日期都用一个整数表示;例如一场排练从 日持续到 日,那么下一场最早只能从 日开始。)
最近这类业务越来越多,管理员小星希望你设计一套计算机系统来帮忙。系统需要执行两种操作:
A 操作:来了一份从 日到 日的新申请,接受它并推掉所有冲突的申请。执行时系统要回答为了这份新申请推掉了多少份预约,方便管理员核对记录。
B 操作:回答当前仍然有效的预约总数。
输入格式
第一行一个正整数 ,表示操作个数。
接下来 行,每行表示一个操作,都是上面两种中的一个。
输出格式
输出 行,每行一个整数,表示对应操作的答案。
样例
6
A 10 15
A 17 19
A 12 17
A 90 99
A 11 12
B0
0
2
0
1
2
</p>
提示
【数据范围】
对于 的数据,,。
难度
普及+/提高-
通过率
—
尝试
0
已通过
0
- ID
- 793
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 125MiB
- 上传者