- 博客(3)
- 收藏
- 关注
原创 HDU 4521小明系列问题——小明序列(线段树)
题目要求:给一段序列a,求满足每个元素在原序列里位置至少相隔k的最长上升子序列。 这个问题我们有3种解决方法,LIS魔改算法,线段树,动态规划。在这篇博客中,我们讨论的是通过线段树来解决这个问题。 我们将我们构造的树的叶子节点用来储存1到这一点的满足题目要求的最长上升子序列的长度,然后不断维护最大值。 具体代码如下: #include<bits/stdc++.h> using...
2018-09-03 20:43:52 190
原创 HDU 4521小明系列问题——小明序列(二分查找,LIS)
这篇博客的内容基本上都是观看一位大佬博客所得,所以内容基本一致,写下这篇博客也只是为了总结自己学习的收获。 贴一下大佬博客:https://blog.csdn.net/a709743744/article/details/51765252 题目要求:给一段序列a,求满足每个元素在原序列里位置至少相隔k的最长上升子序列。 这道题可以用求最长上升子序列类似的方法求,最普通的最长上升子序列二分求法...
2018-09-02 22:08:19 208
原创 最长上升子序列
子序列:一段序列中选取一些位置递增(或递减)的元素作为子序列,如 {1,2,3,4,5,6,7,8,9}这一段序列,可以选取{1,3,5,8,9}作为子序列,也可以选取{1,2,4,7}作为子序列。 最长上升子序列:子序列中的所有元素都是递增的,并且要求该段上升子序列,在所有的上升子序列中长度是最长的。 我们想要求取一段序列的最长上升子序列,一般会有两种方法,一种是动态规划(DP),另一种是二...
2018-09-02 15:38:34 1334 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人