对于这个特定的 s-t,两侧的标记实际上是标记集合,但是因为标记具有分配律,所以可以求出两个集合两两标记的最大值之后再求和。关注 s 的标记覆盖到 \text{t-end} 且 t 的标记覆盖到 \text{s-end} 的条件,枚举 \text{s-trie} 全局平衡二叉树的节点 u,枚举所有 t 的标记覆盖在 u 上的标记,得到一种暴力做法:先枚举 u 覆盖下的节点 v(这个节点是原 \text{s-trie} 树节点),并枚举 v 作为 \text{s-end} 时所有对 \text{t-trie} 全局平衡二叉树的标记挂到这个二叉树节点 x 上,然后枚举标记覆盖 u 的对应的所有 \text{t-end} 节点 w,枚举 w 的所有祖先和之前挂的标记取 \max 后求和。因为查询一个 \text{t-trie} 全局平衡二叉树节点 x 上所有比某个标记大的标记的和需要二分,所以到这里最终复杂度为 O(s\log^3 s)。
实际上可以优化掉这个二分。首先考虑 \text{s-end} 对 \text{t-trie} 全局平衡二叉树的标记,放到同一个 x 上的标记需要排序,所以可以换成在 u 时先将所有 v 上的标记放到一起整体排序后按顺序添加标记,这个排序可以通过从 u 的儿子继承排序好的标记进行归并替换。对于 u 上标记对应的 w 向上查询的过程,我们先把查询挂在 w 上,并遍历 \text{t-trie} 全局平衡二叉树有查询的部分,从下至上向上归并查询,这样同时查询一个 x 的查询是排好序的,可以把标记和查询进行归并,同样求出 \max 之和。总复杂度为 O(s\log^2s)。