思路是这样的
第一步,比较两个待合并树的大小,将小的合并在大的上面.
第二步,把小树上的点拆下来,加入一个数组(保证有序加入).
第三步,深搜遍历大树,同时二分搜索 1<<sd(sdsdsd 为遍历深度) 数组得到分拆到大树上的两个子树的数组,同时将数组大小加给大树上的孩子数量.
1<<sd
期望时间复杂度应该是 O(n1logw+log2n1logw)O(n_1 \log w + \log^2 n_1 \log w)O(n1logw+log2n1logw) (www 为值域大小,n1n_1n1 为小树大小)
不知道能不能行,能行的话是优于或是劣于拆点直接单点加入.