摘要: 题目大意:给你两个1~n的排列,求他们的LCS。 解题思路:由于是1~n的排列,每个数会且只会出现1次。我们可以把一个序列映射成1,2,3,4……然后将另一个序列按照这个映射进行改变。由于前一个序列已经有序,那么后一个序列的最长上升子序列(LIS)肯定是前一个的子序列,由于LIS最长,所以它的值也是 阅读全文
posted @ 2017-08-05 20:08 Mrsrz 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个序列,叫你求最长上升子序列长度,但必须包含第k项。 解题思路:我们把k左边的比a[k]大的数去掉,k右边的比k小的数去掉,就可以保证选到a[k]了(因为左边的数小于a[k],而a[k]小于右边的数,取了a[k]一定比不取优)。 此题由于n到300000,需要优化后的LIS,我使用了 阅读全文
posted @ 2017-08-05 19:37 Mrsrz 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一列只有'(',')','[',']'构成的括号序列,求在序列中至少加上多少括号,能使该序列合法。 解题思路:区间dp。 我们以$f[i][j]$表示把区间$[i,j]$添成合法括号所需的最小括号数。设某段序列为$S_0$,它对应区间为$[i,j]$,括号数为$f[i][j]$.若$S_ 阅读全文
posted @ 2017-08-05 10:47 Mrsrz 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个非降序排列的整数数组a,你的任务是对于一系列询问(i, j),回答ai,ai+1...aj中次数出现最多的值所出现的次数。 解题思路:由于是非降序排列,所有相同的数都是连在一起的。 本题可用RMQ做,但是我不会啊。 其实这题可以直接用线段树做(什么?RMQ可以用线段树做?我还是不会啊 阅读全文
posted @ 2017-08-05 10:01 Mrsrz 阅读(281) 评论(0) 推荐(0) 编辑