发现之前做的题很乱,用小笔记把看过的博客和题目分类记录一下,
代码参考了很多佬,是标注出来的链接,若不同意我就删掉(鞠躬)
1.lis最长上升子序列
最长上升子序列 (LIS) 详解+例题模板 (全)-CSDN博客
玩法一:
玩法二:贪心+二分
如果比最长上升子序列结尾要大,接
否则接到结尾比他小的最长子序列上,二分返回位置,这个真的很巧妙,闲着想想很有意思
if(a[i]>low[ans]){
low[++ans]=a[i];
}
else {
low[lower_bound(low,a[i])]=a[i];
}
dp[a串前i][b串前j]
2.lcs最长公共子序列