LIS学习小结

学的如梦似幻的= =

原理是明白了,和别的知识点,或者再深入一点一结合。我做题就…………………………跟活在梦里一样

  • 在理解LIS时一个需要注意的问题:

LIS问题具体的解决的是最长上升子序列,但是两种模板方法(复杂度为n^2和nlogn)都不会记录最长上升子序列状态,它只是一个过程

简单地说,例如这个序列 2 3 4 1 5

它的最长上升子序列为 2 3 4 5,但是,在nlogn的方法中,最后那个存数的数组会是1 2 3 5。这就是说为什么只是个过程而不是存储了最长上升子序列的状态



  • 关于两种方法简短分析:

O(n^2)的方法就是双重循环跑一遍,我感觉可能不是很常见,因为题目中的数一多,它就肯定要TLE=。=。

O(nlogn)的方法是基于上一种方法的,不过,在查数的时候使用了二分查找,所以时间少了很多。(查找时可以直接用upper_bound和lower_bound)


  • 部分题目

关于O(n^2)的方法:模板+题目:HDOJ 1257 最少拦截系统(=。=这个题也有一点变体,凑和着看吧)

进阶版题目:HDOJ 1051 Wooden Sticks(有一点点变化)

关于O(nlogn):模板+题目:HDOJ 5748 Bellovin(纯模板)

进阶版题目:HDOJ 1025 Constructing Roads In JGShining's Kingdom(对于边界问题和上面的模板有点区别)


上面给的几个题都是我今天刚学习做的简单题OTZ

也不是很难,好好看一下很快就能理解。想要深入学习还是要自己加油再多做一些题……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值