AT_intro_heuristics_b Scoring

题目描述

现有一个持续 $D$ 天的比赛日程。你的任务是计算在每一天结束时的满意度,分别为 $d=1,2,\ldots,D$。

输入格式

输入将从标准输入中提供,格式如下: > $ D $ $ c_1 $ $ c_2 $ $ \cdots $ $ c_{26} $ $ s_{1,1} $ $ s_{1,2} $ $ \cdots $ $ s_{1,26} $ $ \vdots $ $ s_{D,1} $ $ s_{D,2} $ $ \cdots $ $ s_{D,26} $ $ t_1 $ $ t_2 $ $ \vdots $ $ t_D $ - 问题 A 的输入部分的约束和生成方法与问题 A 一致。 - 对于问题 A 的输出部分,每个 $d$ 满足 $1 \leq t_d \leq 26$。需要保证对所有满足这个条件的输入都能正确处理。

输出格式

对于每一天 $d$ ,计算结束时的满意度 $v_d$。请按以下格式输出: > $ v_1 $ $ v_2 $ $ \vdots $ $ v_D $

说明/提示

### 初学者指南 首先,可以写一个程序根据输入输出来计算得分。提交后可知总分;通常还可以获取本地执行用的得分计算程序。这样的程序不但能帮助确认你是否正确理解题目,也在编写和调试解题程序时极为有用。除非得分计算过程非常复杂,否则制作这样的程序是非常值得的。 ### 下一步 在这个问题中,你可以逐日决定要举行的比赛,并计算相应的满意度。因此,可以设想一种算法:每天选择使得满意度达到峰值的比赛。这种每一步都追求最优选择的「贪心算法」,你可能在之前的算法竞赛中见过。对于一些问题,贪心算法能够保证找到最优解,但对本题来说可能并非如此。不过,它一般能给出相对不错的解。现在,请回到问题 A,借助得分计算程序,实现一个基于贪婪策略的解法。 贪心算法因其易实现、通用性强,且通常运行效率较高,常成为处理大规模输入的首选。此外,通过调整贪心选择的准则(评价函数)、不局限于一种最佳方案而允许多个候选方案(束搜索),或者在贪心法基础上用其它方法优化解,都可以进一步提高得分。详细信息请参考赛后解题报告。 ### 示例解释 1 这个例子用于验证题目规格的正确性,规模较小,不满足 $D=365$ 的限制实际不会作为测试用例。 **本翻译由 AI 自动生成**