二分的思路好难想,树状数组又好想又简洁,题解一个都没有,树状数组转移一样是 O(nlogn)O(nlogn)O(nlogn)
for(int i=1;i<=n;++i){w[read()]=i;} for(int i=1;i<=n;++i){ date[i]=read(); dp[i]=t.query(w[date[i]])+1; t.update(w[date[i]],dp[i]); ans=max(ans,dp[i]); }
状态定义也可以直接由O(n2)O(n^2)O(n2)优化得来