首页 > 其他 > 详细

BZOJ2457 双端队列 题解

时间:2019-12-07 20:21:35      阅读:127      评论:0      收藏:0      [点我收藏+]

本题直接求解十分困难,因为在不知道整个序列的数字规律时当前所作决策都无法保证最优性。
考虑正难则反,题目转化为将一个非降序列分成尽量少的几段,让每段对应原问题的双端队列。
先将原数组排序,由于原数组下标对应了插入的顺序,那么根据双端队列的性质,被划分出的每一段的下标都应该满足单谷性质(最先插入的在最中间,之后向两边递增)。
又发现由于是非降序列,那么相同数字的次序不是固定的,可以通过交换两个相同数字使答案更优。
所以此题做法为:对数字相同的每一段依次考虑,利用贪心策略把当前序列(下标)递减或递增地插入序列末尾。

BZOJ2457 双端队列 题解

原文:https://www.cnblogs.com/wzzyr24/p/12003051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!