摘要: 通道思路:可以发现这序列是一段上升一段下降的锯齿形。先考虑拿到所有正数,此时如果段数大于m,考虑怎么最小代价减少段的数量,从 负数和最小的开始合并?而且要考虑负数和超过正数和的情形,注意特殊情况是这段和为0时,并不需要合并,直接跳过。减小个数的方案是,要么这段大于0,去掉这个及左右2边,并合并,这样... 阅读全文
posted @ 2015-10-01 19:20 mithrilhan 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 通道思路:连续上升,连续下降的值放到set里面,然后对于大于m的集合双向链表进行合并,合并肯定是找绝对值最小的合并。代码:#include #include #include #include using namespace std;typedef long long ll;const int N ... 阅读全文
posted @ 2015-10-01 15:35 mithrilhan 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 通道思路:先求一下从第一位开始的到第i位的累加,4,-1,5,-2,-1,2,6,-2=>4386571311对这个累加的数列排个序,然后只要判断邻近的两个数是否可以组成序列,比如4和3就不可以,因为4>3而4对应下标为0,3对应为1。4和5就可以,然后相同的前缀和取id最小,一开始丢个(0,0)进... 阅读全文
posted @ 2015-10-01 12:34 mithrilhan 阅读(186) 评论(0) 推荐(0) 编辑