小红正在优化一条由 N 个交换节点组成的数据通路,节点编号为 0 到 N-1 。数据包会依次经过所有节点,节点 i 默认产生 delay_i 单位时延。 如果在节点 i 启用优先转发,它会影响节点 i 本身以及后续至多 win_i 个节点。每个受影响节点的时延都会减少 opt_i ,但时延最低只能降到 0 。如果一个节点同时受到多个已启用配置的影响,所有减少量会累加。 小红最多可以选择 K 个节点启用优先转发。请计算整条通路能够达到的最小总时延。
第一行输入两个整数 N,K 。 第二行输入 N 个整数 delay_0,delay_1,...,delay_N-1 。 第三行输入 N 个整数 win_0,win_1,...,win_N-1 。 第四行输入 N 个整数 opt_0,opt_1,...,opt_N-1 。 保证 3 ≤ N ≤ 50 , 0 ≤ K ≤ 10 , 0 ≤ delay_i,opt_i ≤ 10^7 , 0 ≤ win_i ≤ 3 。
输出一个整数,表示配置后的最小总时延。
4 1 10 20 30 40 1 0 2 0 15 25 12 100
60
考点:动态规划
数据规模 N ≤ 50 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:动态规划
本题切入点
N≤50、可启用 K≤10 且影响窗口 win_i≤3:按位置做 DP,状态记「已启用数量」,转移时枚举当前位置是否启用并累加对后续窗口的时延削减(每点下限 0)。
把问题拆成子问题,用状态表示「已处理到哪儿」,靠转移方程递推。
思路框架(动态规划 通法 · 非本题专属)
实现要点:一般是「先枚举阶段,再枚举状态,最后枚举决策」三层循环;空间大时可滚动数组优化。
复杂度:时间 O(状态数 × 转移代价) | 空间 O(状态数)
该范式的通法易错点
对照本题
样例 1:输入 4 1 / 10 20 30 40 / 1 0 2 0 / 15 25 12 100 → 输出 60
在节点 3 启用优先转发后,该节点的时延从 40 降为 0 ,总时延为 60 。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-05月22号开发岗。