摘要: B. Make Them Equal Description 给定一个长度为 nn 的序列,请你选择一个非负整数 DD,然后将序列中的所有元素要么加上 DD,要么减去 DD,要么不做改变,使得修改后的序列所有元素都相等。最小化 DD Input 第一行是一个整数 nn 第二行 nn 个整数描述这个序 阅读全文
posted @ 2019-07-31 20:38 _Ackerman 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Manacher's 马拉车算法其实就是用来解决最长回文字符串的问题的。 回文串就是正反读起来就是一样的,如“abba”。 如果暴力去解决这个问题的话,它的时间复杂度是O(n^3) 当然我们还可以优化一下采用中心检测法,这样可以使算法的复杂度降为O(n^2) + O(1) 现在重点来了,马拉车算法可 阅读全文
posted @ 2019-07-31 19:45 _Ackerman 阅读(225) 评论(0) 推荐(0) 编辑
摘要: Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have 阅读全文
posted @ 2019-07-31 16:08 _Ackerman 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 单调队列 性质 单调队列和单调栈很像,就是一个维护了单调性的队列数据结构,可以是单调递增的,也可以是单调递减的。 模型 下图是一个单调递增的单调队列模型。 其中元素也是从小到大排列。和单调栈的操作一样,如果加入一个满足单调性的元素,例如5,那么就直接加入。 那么如果加入一个元素3呢?我们维护单调性, 阅读全文
posted @ 2019-07-31 16:00 _Ackerman 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 单调栈 性质 单调栈是一种特殊的栈,特殊之处在于栈内的元素都保持一个单调性,可能为单调递增,也可能为单调递减。 模型例如下图就是一个单调递增的单调栈。 其中的元素从小到大排列。 那么,如果我们要加入一个新的元素5,5>4,符合要求,就可以直接加入。 那么如果我们需要加入一个元素3呢? 为了维护单调栈 阅读全文
posted @ 2019-07-31 11:32 _Ackerman 阅读(186) 评论(0) 推荐(0) 编辑