本人做法:
设计一个DP, dpi,j 表示到 i 号点,已经经过 j 个景点的最大得分。转移的话预处理出每个点能到的所有点,然后枚举它们进行转移: dpu,j=maxv can be reached from u{dpv,j−1+val(u)} 。当然,需要判断 u 是否在 v 的最优路径上。因此再开一个数组记录最优路径。最后答案即为 dp1,5 。
这样的话 80pts ,民间数据 95pts ,Hack数据 0pts ,如果加上次优路径,还是 80pts ,民间数据也变成 80pts ,但Hack数据全过。MnZn求助,大佬们能不能给出一组Hack数据,或证明这个算法是假的?Code(仅更新最优路径) Code(更新次优路径)