题目背景
翻译来自于 LibreOJ。
题目描述
题目译自 XXV Olimpiada Informatyczna — II etap Przekaźniki telekomunikacyjne
国王 Bajtazar 顺应时代潮流,决定为拜托尼亚王国铺设移动电话网络,覆盖所有村庄和城市。这些地点分布在一条笔直的道路上,可视为数轴。
新任命的电信顾问需要一个程序,测试中继站天线杆的位置。每根天线杆顶端装有中继站,由参数 s 和 a 描述。在杆位置 x,信号强度为 s;在其他点,信号强度随距离线性下降,即在点 x±d,强度为 max(0,s−a⋅d)。
道路上某点的信号覆盖强度为所有中继站信号强度的总和。
程序需支持添加或移除天线杆,以及查询某段整数点平均信号覆盖强度的操作。
输入格式
第一行包含两个整数 n,m (n≥2,m≥1),分别表示道路长度和操作数量。
接下来的 m 行描述操作,每行以单个字符开头,表示操作类型,后跟一至三个整数:
- P x s a:在点 x 架设天线杆,安装中继站,参数为 s,a (1≤x≤n,1≤s,a≤100000)。
- U x:移除点 x (1≤x≤n) 的天线杆。
- Z x1 x2:查询区间 [x1,x2] 内所有整数点 x (x1≤x≤x2,1≤x1≤x2≤n) 的平均信号覆盖强度。
各行数据以单空格分隔。保证操作 P 时点 x 无天线杆,操作 U 时点 x 有天线杆。
输出格式
输出与输入中 Z 操作数量相同的行,每行包含一个整数,表示对应查询的平均信号覆盖强度,向下取整。
11 7
P 5 30 10
Z 6 7
P 10 22 5
Z 6 7
Z 6 6
U 5
Z 6 6
15
19
22
2
提示
样例 1 解释
| 操作 | 结果 | 说明 | 
| P 5 30 10 | - | 在点 x=5 架设天线杆,中继站参数 s=30,a=10。 | 
| Z 6 7 | 15 | 点 6 信号强度为 30−10=20,点 7 为 30−2⋅10=10,区间 [6,7] 整数点的平均强度为 (20+10)/2=15。 | 
| P 10 22 5 | - | 在点 x=10 架设天线杆,中继站参数 s=22,a=5。 | 
| Z 6 7 | 19 | 两杆存在,点 6 强度为 20+2=22,点 7 为 10+7=17,平均强度为 (22+17)/2=19.5,向下取整为 19。 | 
| Z 6 6 | 22 | 点 6 强度为 22,平均为 22。 | 
| U 5 | - | 移除点 x=5 的天线杆。 | 
| Z 6 6 | 2 | 点 6 强度为 2(仅剩 x=10 的中继站)。 | 
附加样例
- n=101,m=500,道路首尾中各一杆,随机查询。
- n=300000,点 1 有一杆,s=100000,a=100,查询各前缀 [1,i] 的平均强度,1≤i≤300000。
- n=300000,m=500000,每点有杆,s=1000,a=1,查询整条路的平均强度。
详细子任务附加限制及分值如下表所示。
| 子任务 | 附加限制 | 分值 | 
| 1 | n,m≤2000 | 8 | 
| 2 | n≤300000,m≤500000,Z 操作在所有 P、U 操作后 | 24 | 
| 3 | n≤300000,m≤500000,同时最多 50 个中继站 | 16 | 
| 4 | n≤300000,m≤500000,Z 操作总有 x1=x2 | 15 | 
| 5 | n,m≤100000 | 
| 6 | n≤300000,m≤500000,P 操作总有 a=1 | 12 | 
| 7 | n≤300000,m≤500000 | 10 |