摘要: 题目大意:给定一个有 N 个正整数的序列,从其中拿走一些数,使得剩下的数满足严格单峰性,即先严格递增后严格递减,允许单调增和单调减,求最少需要拿走多少数。 题解:先考虑严格单调的情况,最少需要拿走多少数字意味着最多需要留下多少数字,使得这些留下的数字保持单调性,显然这是一个 LIS 问题。 那么,对 阅读全文
posted @ 2018-11-15 21:43 shellpicker 阅读(277) 评论(0) 推荐(0)
摘要: 题目大意:给定一个有 N 个数的序列,求其最长下降子序列的长度,并求出有多少种不同的最长下降子序列。(子序列各项数值相同视为同一种) update at 2019.4.3 题解:求最长下降子序列本身并不难,是一道非常经典的线性dp问题,关键在于dp计数部分。这道题跟一般的状态转移计数不同,这里并不是 阅读全文
posted @ 2018-11-15 18:34 shellpicker 阅读(258) 评论(0) 推荐(0)
摘要: 题目大意:维护 N 个数组成的序列,支持两种操作:区间加、区间查询某个值的前驱(小于该值的最大值,若无前驱,输出 1)。 题解1:可以像分块2一样,维护每个块内元素的一个有序序列,每次查询时二分查找即可。 代码如下 阅读全文
posted @ 2018-11-15 11:46 shellpicker 阅读(230) 评论(0) 推荐(0)