题目大意:给你一棵二叉树,让你改变最少的结点上的数值,使这棵二叉树变成BST,求这个需要改变的最少的结点数。
算法:二分+DP
一开始就没理解题目问的真正内涵,想了半天的树型DP,结果肯定是果断不对,看了题解才知道BST就是二叉树中序遍历之后保持有序,进一步得知其实就是要我们求LIS。。
将这棵二叉树中序遍历,然后再求它的LIS即可。最后用总的-最长上升的就是需要最少的需要改变的。