AT_past18_o.蟻の移動

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 只蚂蚁,编号为 11 到 NN,它们位于一条数轴上,正方向向右。在初始状态下,第 ii 只蚂蚁位于初始坐标 XiX_i,朝向由字符 DiD_i 描述。具体来说,Di=D_i= R 表示向右,Di=D_i= L 表示向左。保证 X1,X2,…,XNX_1,X_2,\dots,X_N 是两两不同的偶数。

当 Snuke 打响指后,蚂蚁根据以下规则开始移动:

  • 每只蚂蚁以每秒 11 的速度朝自己面朝的方向前进。
  • 每当两只蚂蚁到达同一坐标时,它们会同时调头并继续移动。此事件称为蚂蚁的碰撞。可以证明,三只或以上的蚂蚁绝不会在同一时刻到达同一坐标。

给定总共 QQ 个询问,每个询问有以下两种类型之一。按顺序处理它们。

  • 1 x d:在初始状态中添加一只初始坐标为 xx,朝向为 dd 的蚂蚁。这里保证 xx 为偶数,且与任意已存在蚂蚁的初始坐标都不同。
  • 2 l r:若 Snuke 在时刻 00 打响指,设 t1,t2,…t_1,t_2,\dots 为第 11 只蚂蚁与其它蚂蚁碰撞的时刻,按时间顺序排列。计算 tl+tl+1+⋯+trt_l+t_{l+1}+\dots+t_r 并输出。保证 l≤rl \leq r,且第 11 只蚂蚁与其它蚂蚁至少会碰撞 rr 次。

注意,第二类询问之间是相互独立的。也就是说,处理第二类询问不会实际改变蚂蚁的初始状态。

输入格式

输入按如下格式从标准输入给出:

NN QQ

X1X_1 D1D_1

X2X_2 D2D_2

⋮\vdots

XNX_N DND_N

query1\mathrm{query}_1

query2\mathrm{query}_2

⋮\vdots

queryQ\mathrm{query}_Q

其中,第 ii 个 queryi\mathrm{query}_i 为如下两种格式之一:

1 x d1\ x\ d

2 l r2\ l\ r

输出格式

若有 TT 个第二类询问,共需输出 TT 行。对于第 ii 行 (1≤i≤T1\leq i \leq T),输出第 ii 个此类询问的答案。

输入输出样例

  • 输入#1

    2 5
    2 R
    10 L
    2 1 1
    1 0 L
    1 -2 R
    2 1 2
    2 2 2

    输出#1

    4
    10
    6
  • 输入#2

    10 10
    0 R
    16 L
    94 L
    -96 R
    -24 L
    52 R
    -10 L
    -38 L
    50 R
    98 L
    1 -66 L
    2 2 3
    1 48 L
    1 34 R
    2 2 2
    1 8 L
    2 2 3
    2 2 3
    1 62 L
    2 1 3

    输出#2

    151
    56
    108
    108
    112

说明/提示

样例说明 1

若 Snuke 在未处理任何询问时的初始状态下打响指,蚂蚁移动如下:

  • 时刻 00,所有蚂蚁开始移动,二者分别朝右和朝左。
  • 时刻 44(t1t_1),第 11 只蚂蚁和第 22 只蚂蚁在坐标 66 处碰撞。此后两只蚂蚁分别朝左和朝右。

因此,第 11 个询问的答案为 t1=4t_1=4。

若 Snuke 在处理完前三个询问后的初始状态下打响指,蚂蚁移动如下。新加入的蚂蚁,分别称为第 33 只和第 44 只蚂蚁。

  • 时刻 00,所有蚂蚁开始移动,朝向分别为右、左、左、右。
  • 时刻 11,第 33 只和第 44 只蚂蚁在坐标 −1-1 处相遇。此后四只蚂蚁朝向分别为右、左、右、左。
  • 时刻 44(t1t_1),第 11 只和第 22 只蚂蚁在坐标 66 处相遇。此后四只蚂蚁朝向分别为左、右、右、左。
  • 时刻 66(t2t_2),第 11 只和第 33 只蚂蚁在坐标 44 处相遇。此后四只蚂蚁朝向分别为右、右、左、左。

因此,第 44 个询问答案为 t1+t2=10t_1+t_2=10,第 55 个询问答案为 t2=6t_2=6。

数据范围

  • NN、QQ 为整数。
  • 1≤N,Q≤1051\leq N,Q \leq 10^5
  • XiX_i 为偶数。
  • ∣Xi∣≤109|X_i| \leq 10^9
  • Xi≠Xj (i≠j)X_i \neq X_j\ (i \neq j)
  • DiD_i 取值为 R 或 L。
  • 对于每个第 11 类询问,
    • xx 为偶数。
    • ∣x∣≤109|x| \leq 10^9
    • 在处理该询问时,没有蚂蚁的初始坐标为 xx。
    • dd 取值为 R 或 L。
  • 对于每个第 22 类询问,
    • ll、rr 为整数。
    • 1≤l≤r≤M1 \leq l \leq r \leq M,其中 MM 是当前状态下第 11 只蚂蚁与其它蚂蚁将发生碰撞的总次数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页