题目大意:将一个升序的,有N个元素的序列,分组.要求每组的元素不少于K个,计算出组内各元素与最小元素的之差的和,将每组的这个值加起来,其和要最小. N<500000,K<N 分析: dp[i]=MIN(dp[j]+sum[i]-sum[j]-(i-j)*arr[j+1]); 令y=dp[j]+sum[i]-sum[j]+j*arr[j+1],x=arr[j+1],b=i,g=dp[i], 于是有y-bx=g 因为b值是递增的,所以有效决策点构成了下凸包. 可以用单调队列解决,又因为每组个数不能…