#P16054. [Oni2022国家队选拔赛]Guguștiuc

[Oni2022国家队选拔赛]Guguștiuc

题目描述

Gimi 有 NN 个会议。第 ii 个会议在开区间 (xi,yi)(x_i,y_i) 内进行。由于会议是线上进行的,Gimi 可以同时参加多个会议。

为了简化日程,他依次执行了 QQ 个操作,每个操作属于以下两种之一:

  • split t:Gimi 在时刻 tt 休息。对于所有满足 xi<t<yix_i<t<y_i 的会议 (xi,yi)(x_i,y_i),该会议会被删除,并被替换成两个新会议 (xi,t)(x_i,t)(t,yi)(t,y_i)
  • skip t:Gimi 不再参加所有在时刻 tt 正在进行的会议。也就是说,对于所有满足 xi<t<yix_i<t<y_i 的会议 (xi,yi)(x_i,y_i),该会议会被直接删除。

所有操作执行完后,Gimi 想知道剩余所有会议持续时间之和。一个会议 (x,y)(x,y) 的持续时间定义为 yxy-x。即使多个会议在时间上重叠,它们的持续时间也要分别累加。

输入格式

第一行输入两个整数 N,QN,Q

接下来 NN 行,每行输入两个整数 xi,yix_i,y_i,表示一个会议区间。

接下来 QQ 行,每行输入两个整数 ai,tia_i,t_i

  • ai=1a_i=1,表示一次 split t_i 操作;
  • ai=2a_i=2,表示一次 skip t_i 操作。

输出格式

输出一个整数,表示所有操作完成后,剩余会议持续时间之和。

数据范围与约束

  • 1N,Q5000001\le N,Q\le 500000
  • 1xi,yi,ti10000001\le x_i,y_i,t_i\le 1000000
  • 1ai21\le a_i\le 2

注:题面中会议区间写作 (xi,yi)(x_i,y_i),实际有意义的会议应满足 xi<yix_i<y_i

子任务

子任务 分值 限制
1 9 1N,Q2001\le N,Q\le 200
2 12 N=1N=1
3 13 N,Q1000N,Q\le 1000
4 12 对所有 1i<N1\le i<Nxixi+1,yiyi+1x_i\le x_{i+1},y_i\le y_{i+1}
5 11 N50000N\le 50000xi,yi,ti50000x_i,y_i,t_i\le 50000
6 19 N100000N\le 100000
7 24 无额外限制

样例

输入

2 3
1 10
4 10
1 3
1 6
2 5

输出

10

样例解释

初始有两个会议:(1,10)(1,10)(4,10)(4,10)

第一次操作 split 3 后,会议 (1,10)(1,10) 被拆成 (1,3)(1,3)(3,10)(3,10),现在有:

(1,3),(3,10),(4,10).(1,3),(3,10),(4,10).

第二次操作 split 6 后,(3,10)(3,10) 被拆成 (3,6),(6,10)(3,6),(6,10)(4,10)(4,10) 被拆成 (4,6),(6,10)(4,6),(6,10),现在有:

(1,3),(3,6),(6,10),(4,6),(6,10).(1,3),(3,6),(6,10),(4,6),(6,10).

第三次操作 skip 5 会删除 (3,6)(3,6)(4,6)(4,6)

剩下 (1,3),(6,10)(1,3),(6,10) 以及另一个 (6,10)(6,10),总持续时间为:

(31)+(106)+(106)=10.(3-1)+(10-6)+(10-6)=10.