#P15047. [2026省选联测]冲突

    ID: 14263 传统题 4000ms 1024MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600数学数据结构树状数组线段树

[2026省选联测]冲突

题目描述

小 F 住在围绕一个大圆形湖泊的周围。湖泊的周长是 ll,湖泊周围的某个地点是小 F 的家。从小 F 的家开始沿湖泊周围顺时针移动 xx0x<l0 \le x < l) 的地点被称为地点 xx

现在,小 F 计划在湖泊周围举行马拉松比赛。比赛规则如下:

  • 准备了编号从 00l1l-1 的号码布各一张。每位参赛者佩戴其中一张号码布。
  • 佩戴号码布 xx0xl10 \le x \le l-1)的参赛者起点为地点 xx
  • 比赛开始后,参赛者在 tt 秒内以各自速度沿湖顺时针移动。若在某时刻 tt'(实数,0tt0 \le t' \le t)两名不同参赛者位于同一地点,则称为一次冲突

初始有 nn 位参赛者:第 ii 位参赛者佩戴号码布 aia_i 且速度为 sis_i(单位:地点/秒)。随后进行了 qq 次名单修改。第 jj 次修改由一对整数 (xj,yj)(x_j, y_j) 表示:

  • 若当前名单中存在一位佩戴号码布 xjx_j 且速度为 yjy_j 的参赛者,则将其从名单中删除;
  • 否则,向名单中添加这样一位参赛者。

保证每次修改结束后名单中至少有 22 人,并且所有参赛者的号码布互不相同。

请在每次修改结束后,输出当前名单在比赛期间发生的冲突次数对 109+710^9+7 取模的结果。

输入格式

第一行:三个整数 n,l,tn, l, t

第二行:nn 个整数 aia_i

第三行:nn 个整数 sis_i

第四行:一个整数 qq

接下来 qq 行,每行包含一对整数 (xj,yj)(x_j, y_j),表示第 jj 次名单修改。

输出格式

输出 qq 行,第 jj 行(1jq1 \le j \le q)为第 jj 次修改结束后当前参赛者的冲突次数对 109+710^9+7 取模的结果。

样例 #1

输入

3 7 2
1 6 3
4 1 6
1
4 2

输出

7

样例 #2

输入

3 6 1
1 3 4
1 1 1
2
0 2
1 1

输出

1
0

样例 1 解释

第一次更改结束后,有 4 位参与者。每个参与者的信息如下:

  1. 佩戴号码布 1,从地点 1 出发。以每秒 4 的速度顺时针移动。
  2. 佩戴号码布 6,从地点 6 出发。以每秒 1 的速度顺时针移动。
  3. 佩戴号码布 3,从地点 3 出发。以每秒 6 的速度顺时针移动。
  4. 佩戴号码布 4,从地点 4 出发。以每秒 2 的速度顺时针移动。

第一次更改结束后,马拉松比赛中发生以下 7 次冲突:

  1. 在时刻 1/41/4,佩戴号码布 3 的参与者和佩戴号码布 4 的参与者在同一地点 9/29/2
  2. 在时刻 3/53/5,佩戴号码布 3 的参与者和佩戴号码布 6 的参与者在同一地点 33/533/5
  3. 在时刻 3/23/2,佩戴号码布 1 的参与者和佩戴号码布 4 的参与者在同一地点 00
  4. 在时刻 5/35/3,佩戴号码布 1 的参与者和佩戴号码布 6 的参与者在同一地点 2/32/3
  5. 在时刻 22,佩戴号码布 3 的参与者和佩戴号码布 4 的参与者在同一地点 11
  6. 在时刻 22,佩戴号码布 3 的参与者和佩戴号码布 6 的参与者在同一地点 11
  7. 在时刻 22,佩戴号码布 4 的参与者和佩戴号码布 6 的参与者在同一地点 11

数据范围

  • 2n2 \le n1q1 \le qn+q100,000n + q \le 100,000
  • nl109n \le l \le 10^9
  • 1t,yj,si1091 \le t,y_j,s_i \le 10^9
  • 0xjl10 \le x_j \le l-1
  • 0ail10 \le a_i \le l-1 且对任意 iji\ne jaiaja_i \ne a_j
测试点编号 n+qn+q\le qq\le 特殊性质
1,21, 2 10510^5 A
3,43, 4 20002000 11
5,65, 6 20002000
7,87, 8 2×1042\times 10^4
9129\sim 12 10510^5 11
131713\sim 17 5×1045\times 10^4
182018\sim 20 10510^5

特殊性质 A:保证 t=1t = 1si2s_i \le 2yj2y_j \le 2