根据题意我们发现对于每个 ,与它绝对值最小的一定是前 个数排序后在它前面或后面的数。
这样的话,我们维护一个单调的序列,插入每天的营业额时计算其波动值即可。
最暴力的便是插入排序,复杂度 ,不能忍受。。
我们应选择复杂度为 的方法。
维护一个单调序列自然想到了 set(平衡树也可以,但是作者想用 STL 水过去,雾),因为可能有多个相同的营业额,所以选择了 multiset。
下次有空写一个 set 的教程。
以下为代码:
1 |
|
根据题意我们发现对于每个 ,与它绝对值最小的一定是前 个数排序后在它前面或后面的数。
这样的话,我们维护一个单调的序列,插入每天的营业额时计算其波动值即可。
最暴力的便是插入排序,复杂度 ,不能忍受。。
我们应选择复杂度为 的方法。
维护一个单调序列自然想到了 set(平衡树也可以,但是作者想用 STL 水过去,雾),因为可能有多个相同的营业额,所以选择了 multiset。
下次有空写一个 set 的教程。
以下为代码:
1 |
|