我没有做这个笔试,看到同学发的我大概说下我的思路,就是dp dp[i][j]代表前i个点选择j种训练方式。内容是一个列表,两个元素[最多消耗数,最后的选择的锻炼方式所在的点]。dp[i][j][0]=max(dp[i-1][j][0],dp[i-1][j-1][0]+2*(i-dp[i-1][j-1][1])+nums[i]),max里面第一项是不选择当前i这个点,第二项是选择i这个点,选择了就得根据前面dp[i-1][j-1]的最后一个点的位置算出距离以及自己本身消耗的能量。