P12933 [NOISG 2020 Prelim] Solar Storm

题目描述

Squeaky 老鼠是宇宙飞船的船长,正在执行探索太阳系边界的任务。飞船呈长条状,沿着飞船的长度方向有一条笔直的通道,$N$ 个舱室连接在通道的不同位置。舱室从左到右编号为 $1$ 到 $N$,相邻舱室之间的距离不一定相等。 每个舱室 $i$($1 \leq i \leq N$)中都有重要的设备,用于支持飞船的运行,设备的重要性用正整数 $v_i$ 表示。相邻舱室之间有电缆连接,设备可以通过其他舱室远程控制。 然而,一场太阳风暴即将袭击飞船!太阳风暴会释放大量带电粒子,如果不加保护,将会损坏飞船上的设备。 幸运的是,船员随船携带了 $S$ 个防护盾。每个防护盾可以放置在任意舱室,也可以选择不使用。每个防护盾能在其所在位置产生磁场,保护半径为 $K$ 米,半径范围内的所有舱室设备都能被保护(包括防护盾所在的舱室)。 需要注意: - 通道本身无需保护,因为电缆不受带电粒子的影响; - 为了方便后续操作,Squeaky 希望所有被保护的舱室之间可以相互控制设备; - 具体而言,如果两个被保护的舱室之间存在未被保护的舱室,则无法相互控制设备,这是不允许的。 请你作为工程师,帮助 Squeaky 确定防护盾的最优放置方案,最大化被保护舱室的重要性总和,并保证控制连通性。

输入格式

第一行三个整数 $N,\ S,\ K$,分别表示舱室数量、防护盾数量、防护盾的保护半径(单位:米)。 第二行 $N - 1$ 个整数 $d_i$,第 $i$ 个舱室与第 $i+1$ 个舱室之间的距离。 第三行 $N$ 个整数 $v_i$,第 $i$ 个舱室的重要性。

输出格式

第一行一个整数 $T$,表示实际使用的防护盾数量,$0 \leq T \leq S$。 第二行 $T$ 个整数,表示放置防护盾的舱室编号,顺序不限。若有多种方案都能达到最优,输出任意一种均可。

说明/提示

【样例解释】 对于样例 #1: 飞船的结构如下: 部署两个防护盾的最优位置是在第 $3$ 和第 $5$ 个舱室。 第 $3$ 个舱室的防护盾将保护第 $2, 3, 4$ 个舱室;第 $5$ 个舱室的防护盾将保护第 $5$ 个舱室。 注意,舱室 $4$ 和 $5$ 之间的通道没有完全被保护,这是允许的,因为通道上的电缆不会受到损害。 请注意,如果将两个防护盾部署在第 $3$ 和第 $6$ 个舱室,这不是一个合法方案,因为第 $5$ 个舱室会被太阳风暴损坏,导致第 $6$ 个舱室的船员无法控制第 $2, 3, 4$ 个舱室的设备。 对于样例 #2: 飞船的结构与样例 $1$ 相同,但防护盾的半径更大。 在第 $4$ 个舱室部署一个防护盾足以保护所有舱室。 注意,还有许多其他可接受的方案。 其他一些可选方案包括: - 仅在第 $3$ 个舱室部署一个防护盾; - 分别在第 $3$ 和第 $5$ 个舱室各部署一个防护盾; - 在第 $3$ 个舱室部署两个防护盾。 所有能够最大化被保护舱室总重要性的合法方案都会被接受。 对于样例 #3: 飞船的结构与样例 $1$ 相同。 在第 $5$ 个舱室部署防护盾可以保护第 $5$ 和第 $6$ 个舱室,这是最优方案。 注意,同样也可以选择将防护盾部署在第 $6$ 个舱室,这也是最优的。 对于样例 #4: 最优方案是在第 $6$ 个舱室部署防护盾,这将保护第 $4, 5, 6, 7, 8$ 个舱室。 注意,同样也可以选择在第 $7$ 个舱室部署防护盾,这也是最优的。 对于样例 #5: 部署三个防护盾的最优位置是第 $3, 4, 5$ 个舱室。 【数据范围】 - $1 \leq S \leq N \leq 10^6$ - $1 \leq K \leq 10^{12}$ - $1 \leq d_i \leq 10^6$ - $1 \leq v_i \leq 10^6$ | 子任务编号 | 分值 | 附加限制 | | :--------: | :--: | :----------------------------------------------------------: | | $1$ | $10$ | $S = 1,\ N \leq 10^4,\ K \leq 10^9,\ d_i \leq 10^5,\ v_i \leq 10^5$ | | $2$ | $7$ | $S = 1,\ d_i = 1$ | | $3$ | $11$ | $S = 1$ | | $4$ | $8$ | $K = 1,\ d_i = 2$ | | $5$ | $18$ | $N \leq 10^4$ | | $6$ | $16$ | $S \leq 50$ | | $7$ | $30$ | 无附加限制 |