整理一下线段树合并的思路,大体是给每个树上节点分配一个根编号建一棵log长的权值线段树,一开始树上只有这个树节点的节点权
merge两个树节点的时候,对于当前合并的值域(例如两棵线段树的表示1到n/2的节点),
任意取两棵树中的一个节点编号,空的返回另一个,把树丰满起来,同时更新一下计数就可以了
#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #include #include