#P13955. [2024多校联盟省选模拟]扫雪波特

    ID: 13167 传统题 5000ms 512MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2700数据结构平衡树数学动态规划动态DP模拟线段树

[2024多校联盟省选模拟]扫雪波特

题目描述

有一条长 ll 米的道路(数轴),路上有 nn 个充电站。每天整条路上(坐标区间 [0,l][0,l])都会落满雪。

有一台机器能扫雪。充一次电可以扫至多 kk 米的雪。扫雪是和移动同时进行的:

  • 移动但不扫雪:不消耗电,需要 1 秒;
  • 移动并扫雪:消耗最大电量的 1k\frac{1}{k},需要 1 秒;
  • 扫雪必须移动(不能原地扫)。

给出每天机器的初始位置(机器初始没电),问每天清除所有雪的最少时间,终点位置任意。

带修:充电站可能损坏或修好(第一天之前都是好的),但保证每天至少有一个好的充电站(所以不会无解)。

输入格式

第一行四个整数 n,l,k,dn, l, k, d
第二行 nn 个整数 x1,x2,,xnx_1, x_2, \dots, x_n 表示充电站的位置,保证 0x1<x2<<xnl0 \le x_1 < x_2 < \cdots < x_n \le l

接下来 3d3d 行描述 dd 天的事件:

  • 第 1 行三个整数 z,u,pz, u, p,分别表示昨晚修好的充电站数量、损坏的数量,以及机器的初始位置;
  • 第 2 行 zz 个整数,表示被修好的充电站编号;
  • 第 3 行 uu 个整数,表示损坏的充电站编号。

输出格式

输出 dd 行,每行一个整数,表示每天的答案。

样例输入 1 / 输出 1

3 5 2 1
2 3 5
0 1 3
2
9

样例输入 2 / 输出 2

2 9 2 1
0 9
0 0 0
25

样例输入 3 / 输出 3

3 22 2 1
1 10 21
0 0 1
69

样例输入 4 / 输出 4

5 12 1 1
0 5 7 9 11
0 0 1
30

样例解释

表示移动, 表示移动并扫雪。
例如某一天的操作序列可以写成:

  • $3 \rightarrow 2 \Rightarrow 0 \rightarrow 2 \Rightarrow 4 \rightarrow 5 \Rightarrow 4$

数据范围与提示

  • 对于所有数据:1n2500001 \le n \le 2500001l1091 \le l \le 10^91kl1 \le k \le l1d2500001 \le d \le 250000,且 z,u500000\sum z,\sum u \le 500000

子任务

子任务编号 附加限制 分数 子任务依赖
1 l12, d50l \le 12,\ d \le 50 10
2 l500, d50, k=1l \le 500,\ d \le 50,\ k=1 15
3 l5×106, d20l \le 5\times 10^6,\ d \le 20
4 n×d1.5×107n \times d \le 1.5\times 10^7 10 1,2,3
5 z=u=0z=u=0 15
6 z,u100, k50z,u \le 100,\ k \le 50 10
7 k=1k=1
8 (无额外限制) 15 1,2,3,4,5,6,7