摘要:
解法一: f[i][j]表示数列A的前i个和数列B的前j个且以B[i]结尾的最长公共上升子序列 f[i][j]=f[i−1][j] (a[i]≠b[j]) f[i][j]=max(f[i−1][j],f[i−1][t]+1) (a[i]=b[j] 且 1 <= t < j) #include <io 阅读全文
posted @ 2020-07-11 16:01
Sexyomaru
阅读(105)
评论(0)
推荐(0)
摘要:
分析:暴力法是可以做的但是时间复杂度O(n2),竞赛选手很容易想到用线段树,树状数组来优化时间复杂度,这里贴几种容易理解的方法 方法一:归并排序,归并排序可以求逆序对,这是我们熟悉的,所以在归并排序的合并过程,我们可以求出右边小于当前数的有几个,这道题需要返回每个位置的右边小于它的元素数量,我们可以 阅读全文
posted @ 2020-07-11 13:26
Sexyomaru
阅读(130)
评论(0)
推荐(0)

浙公网安备 33010602011771号