n个村庄排在一条直线上,位置分别为c1, c2,...,cn 且c1=0<c2<...<cn。为方便大家出行,准备在其中的m个村庄设置公交车站,而每个村庄的人都会利用最近的车站坐车。求车站的最佳设置位置,使各村庄到最近车站的距离之和最小。
(一种思路)1. 如果村庄i与村庄j (i<j) 设有车站,而其间的村庄没有车站。则村庄i+1,i+2,..,j-1只能选择i和j中较近的车站坐车。设w(i,j)为它们到最近车站的距离之和,显然w(i,j)=0, if j-i=1.2. 设S(i,k) 为前i个村庄中设置k个车站且第k 个车站设置第i个村庄的情况下,前i个村庄到最近车站距离之和的最小值。S(i,k)  = min {S(i-1,k-1)+w(i-1,i),  S(i-2,k-1)+w(i-2,i),...,S(k-1,k-1)+w(k-1,i)}  if (i>k>1)S(i,k)=0  if (i<=k)S(i,1) = ?3. 追加第n+1个村庄且cn+1>2cn。则整个问题的最优解为S(n+1,m+1)。 (要求)根据上述思路,写出完整的递推方程式。并求解: {0,3,7,9,13,23,28,38,40,56,62,65}中设置5座车站的最佳结果。分析时间复杂度,思考如何优化w(i,j)的计算。