P13228 [GCJ 2015 #3] Fairland

题目描述

Fairland 国有非常严格的法律来规范公司如何组织和支付员工工资: 1. 每家公司必须有且仅有一名 CEO,且 CEO 没有上级。 2. 除 CEO 外,每位员工必须有且仅有一名上级。(这意味着公司的组织结构图是一棵树,没有环。) 3. 只要员工在公司工作,其上级不得更换。这意味着如果一名上级离开,则所有直接下属也必须离开。 4. CEO 绝不能离开公司。 5. 每位员工都有一份工资——每年一定数额的 Fairland 元。员工的工资不得更改。 6. 不同员工的工资可以不同,且员工的工资与其在组织结构中的位置不一定相关。 Fairland 政府刚刚通过了一项新法律: 7. 公司内最高工资与最低工资的差额不得超过 $\mathbf{D}$ Fairland 元。 Marie 是 Fairland General Stuff Corporation 的 CEO,她必须确保公司遵守新法律。这可能需要裁员。她有公司员工名单、各自的上级以及工资信息。请问她最多能保留多少名员工(包括她自己),使得公司仍然符合所有法律规定?

输入格式

输入的第一行为测试用例数 $\mathbf{T}$。接下来有 $\mathbf{T}$ 组测试数据。每组测试数据的第一行为两个用空格分隔的整数 $\mathbf{N}$(员工总数)和 $\mathbf{D}$(允许的最大工资差)。接下来一行包含四个用空格分隔的整数 $\left(\mathbf{S}_{0}, \mathbf{A}_{\mathrm{S}}, \mathbf{C}_{\mathrm{S}}, \mathbf{R}_{\mathrm{S}}\right)$,再下一行包含四个用空格分隔的整数 $\left(\mathbf{M}_{0}, \mathbf{A}_{\mathrm{m}}, \mathbf{C}_{\mathrm{m}}, \mathbf{R}_{\mathrm{m}}\right)$。这八个整数定义了如下序列: - $\mathbf{S}_{\mathrm{i}+1} = \left(\mathbf{S}_{\mathrm{i}} \times \mathbf{A}_{\mathrm{S}} + \mathbf{C}_{\mathrm{S}}\right) \bmod \mathbf{R}_{\mathrm{S}}$ - $\mathbf{M}_{\mathrm{i}+1} = \left(\mathbf{M}_{\mathrm{i}} \times \mathbf{A}_{\mathrm{m}} + \mathbf{C}_{\mathrm{m}}\right) \bmod \mathbf{R}_{\mathrm{m}}$ Marie 的员工编号为 0,其余员工编号为 $1$ 到 $N-1$。第 $i$ 位员工的工资为 $\mathbf{S}_i$。对于 Marie 以外的每位员工 $i$,其上级编号为 $\mathbf{M}_i \bmod i$。(注意 $\mathbf{M}_0$ 不影响 Marie 的上级——她没有上级!)

输出格式

对于每组测试数据,输出一行,格式为 "Case #x: y",其中 $x$ 为测试编号(从 1 开始),$y$ 为 Marie 能够保留的最大员工数(包括她自己),使得所有法律 1-7 均被遵守。

说明/提示

**样例解释** 第 1 组数据中,公司只有 CEO 一人,没有其他员工,不违反任何法律,无需做出改变。 第 2 组数据的组织结构如下: ![](https://cdn.luogu.com.cn/upload/image_hosting/9h2ae4xp.png) 最优策略是保留员工 $0,1,5$(工资分别为 $10,13,8$)。例如,无法保留员工 $2$,因为她的工资与员工 0 的工资 $10$ 相差超过 $5$;由于员工 0 不能被裁员,员工 2 必须被裁掉(以及所有直属于她的员工)。 如果你想检查 1 到 5 号员工的序列如下: - $\mathbf{S}$:$13,16,2,5,8$ - $\mathbf{M}$:$17,3,13,14,16$ - 上级编号:$17 \bmod 1=0, 3 \bmod 2=1, 13 \bmod 3=1, 14 \bmod 4=2, 16 \bmod 5=1$ **数据范围** - $1 \leq T \leq 100$。 - $0 \leq S_0 < R_S$。 - $0 \leq M_0 < R_m$。 - $0 \leq A_S, A_m \leq 1000$。 - $0 \leq C_S, C_m \leq 10^9$。 **小数据范围** - 时间限制:5 秒。 - $1 \leq N \leq 1000$。 - $1 \leq D \leq 1000$。 - $1 \leq R_S, R_m \leq 1000$。 **大数据范围** - 时间限制:20 秒。 - $1 \leq N \leq 10^6$。 - $1 \leq D \leq 10^6$。 - $1 \leq R_S, R_m \leq 10^6$。 由 ChatGPT 4.1 翻译