题意转换为:给定n个数,求两个最长的不相交的LIS. 先说经典题一个LIS的nlogn做法.枚举当前数,若比末尾数大,插入末尾,否则二分查找,插入合适位置. 通过此题,我们有了一个用树状数组或线段树+dp解决LIS的方法. 首先离散化.dp[n]表示末尾数为n时的LIS的长度. for循环枚举数列中的数i,dp[i] = max(dp[j])+1, j <= i max的值可以用树状数组或线段树logn复杂度解决,总复杂度依然是nlogn. 咦,用树状数组也能解决? 树状数组两个操作,单点修改,…