从今往后,教室里再也没有我们的一席之地了**希望我高中毕业之前再也不要回去***
A. 玩水
针对n=2的数据点思考了一下,发现了对角线这个事,于是我就判断的一下能找到两个对角线就好了,但其实它有条件!
因为只能往右下走,不满足以上条件根本就过不去,还有上下相邻的图题解没有画,diy画一下吧。
B. AVL 树
我找到了高度为i的平衡树最少的节点数目方程f[i] = f[i-1] + f[i-2] + 1,我还想到了按照先序遍历的顺序贪心的去找k个点,但是怎么找我就不会了***
判断每个点能不能加入最终的树中的条件就是判断得到这个点整棵树至少多大,是不是超过了k,计算大小时从当前点向上,每次遇到自己是左子树时,根据目前的情况计算右子树至少留下多少点。
如果每一次只判断当前的点就还好,可是以前加入的点还要留下处理起来就很奇妙。
由于加入的点再也不会被删除,我们可以直接修改点数。统计标记的时候可以用^1符号避免重复计算。use保存以i为根的子树中被占用的最大深度,它用来判断大小。左子树大小对右子树的限制
标签:左子,判断,加入,计算,对角线,CSP,模拟 From: https://www.cnblogs.com/Catherine2006/p/16709237.html