游戏机制解析课:路线收益记录中的最佳连续片段——十六段试炼收益的连续区间(案例20)
一条试炼路线可能交替出现正负收益。寻找收益最高的一段连续行程,与挑出所有正收益点不同;连续性意味着中间的不利路段也必须一起计入。
本篇给出一份完整且可重复的虚构游戏记录。先读清规则,再尝试自行推演输入,最后逐项对照中间状态。不同作品可以选择不同约定,只有在相同前提下才能比较结果;不要只看最终数字相同就认为过程正确。
约定与原始记录
给出十六段固定的整数收益,选择至少一段连续片段,使总和最大。同分时优先起点较早,再优先终点较早;编号从零开始,记录区间包含两端。仅讨论虚构积分,不涉及付费或随机奖励。
[0, 3, -10, 1, 7, 0, 1, -3, 9, 0, 2, 4, 7, -2, 12, -5]
逐步计算
读到编号0收益0,以此为终点的最佳连续片段从0开始、和为0;目前全局最佳[总和,起点,终点]为[0, 0, 0]。
读到编号1收益3,以此为终点的最佳连续片段从0开始、和为3;目前全局最佳[总和,起点,终点]为[3, 0, 1]。
读到编号2收益-10,以此为终点的最佳连续片段从0开始、和为-7;目前全局最佳[总和,起点,终点]为[3, 0, 1]。
读到编号3收益1,以此为终点的最佳连续片段从3开始、和为1;目前全局最佳[总和,起点,终点]为[3, 0, 1]。
读到编号4收益7,以此为终点的最佳连续片段从3开始、和为8;目前全局最佳[总和,起点,终点]为[8, 3, 4]。
读到编号5收益0,以此为终点的最佳连续片段从3开始、和为8;目前全局最佳[总和,起点,终点]为[8, 3, 4]。
读到编号6收益1,以此为终点的最佳连续片段从3开始、和为9;目前全局最佳[总和,起点,终点]为[9, 3, 6]。
读到编号7收益-3,以此为终点的最佳连续片段从3开始、和为6;目前全局最佳[总和,起点,终点]为[9, 3, 6]。
读到编号8收益9,以此为终点的最佳连续片段从3开始、和为15;目前全局最佳[总和,起点,终点]为[15, 3, 8]。
读到编号9收益0,以此为终点的最佳连续片段从3开始、和为15;目前全局最佳[总和,起点,终点]为[15, 3, 8]。
读到编号10收益2,以此为终点的最佳连续片段从3开始、和为17;目前全局最佳[总和,起点,终点]为[17, 3, 10]。
读到编号11收益4,以此为终点的最佳连续片段从3开始、和为21;目前全局最佳[总和,起点,终点]为[21, 3, 11]。
读到编号12收益7,以此为终点的最佳连续片段从3开始、和为28;目前全局最佳[总和,起点,终点]为[28, 3, 12]。
读到编号13收益-2,以此为终点的最佳连续片段从3开始、和为26;目前全局最佳[总和,起点,终点]为[28, 3, 12]。
读到编号14收益12,以此为终点的最佳连续片段从3开始、和为38;目前全局最佳[总和,起点,终点]为[38, 3, 14]。
读到编号15收益-5,以此为终点的最佳连续片段从3开始、和为33;目前全局最佳[总和,起点,终点]为[38, 3, 14]。
选择含端点区间[3,14],各段[1, 7, 0, 1, -3, 9, 0, 2, 4, 7, -2, 12],合计38。
复核方法与适用范围
枚举每个起点和终点,对每个连续区间直接求和,选出符合最大值及同分次序的结果;与逐项累积、决定是否从当前项重新开始的方法比较。全负输入也必须选择一个非空片段。
最佳片段只针对这份已知记录,不表示玩家事前知道未来所有事件。实际路线选择还可能受出口位置、时间或体力限制,本例没有这些条件。把它当作赛后记录分析,可以明确区分连续区段表现和整条路线总收益。
练习时可以只改动一个输入,再观察哪一步首次出现差异。对等于门槛、重复请求、空集合和最后一步分别留一份记录;如果发现异常,应先回到单位、顺序和边界约定,避免用额外补偿掩盖前面已经发生的错误。
