关于这道题的正解是贪心...
然而还在考场上拼死写dp(不会\(O(N)\)的,表示只想拿到400分)
这道题我们可以枚举将它分成多少段, 显然对于每一段, 我们要将其中所有元素丢回来, 先捡这一段中距离原点最远的垃圾, 然后再在回来的路上捡起其他垃圾是最优的, 所以我们考虑如何去统计这个的贡献.
我们可以发现, 对于这一段来说, 它的贡献, 是每一个垃圾的距离乘上一个系数, 即:5, 5, 7, 9, 11, 然后加起来...
于是我们可以枚举这个k, 然后用贪心的思想一起算这k段的贡献, 即其中一共可以有\(k*2\)个数的系数是5, \(k\)个的系数是7, \(k\)个的系数是9...
然后这样一直算, 统计答案就行了.
这是错误但可以莫名A掉几个很多点的\(O(N^2)\)dp代码.
Sept.16 2018