摘要: 传送门 上升子序列 就是满足严格递增 先考虑大体思路: 如果题目没有要求“如果两个上升子序列相同,那么只需要计算一次”,那么就非常友好了 dp转移方程也很简单 dp[i]=Σdp[j](0<j<i) 但是现在要求相同的只能记一次 我们考虑用一个数组la(lastans)[]记录 那么这个数组的作用是 阅读全文
posted @ 2019-10-14 20:50 DUO_JIaMInG 阅读(136) 评论(0) 推荐(0) 编辑
摘要: lis 即最长上升子序列 可以用dp求解 复杂度O(n^2) 我们考虑优化 用树状数组(或者线段树) 树状数组维护区间最大值 (省去原始O(n^2)算法中的查找) 这样还能求出以i结尾的lis 二分只能求出当前序列的lis (许多题里要求lis个数什么的qwq 总之比二分方便 除了码量长) 还有一个 阅读全文
posted @ 2019-10-14 13:16 DUO_JIaMInG 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 一般求解方法 当然c++stl库里有一个函数名叫unique unique本身是用于去重 正是离散化所需要的 阅读全文
posted @ 2019-10-14 12:35 DUO_JIaMInG 阅读(197) 评论(0) 推荐(0) 编辑