题意对于一棵二叉树,如果它所有节点的左右子树交换后和原树一样,那么称它为对称二叉树。给出一棵 $n(\le 10^6)$ 个节点的二叉树,求它所有对称子树中节点个数的最大值。题解可以发现,如果一个节点 $x$ 的左子树的 左->中->右 遍历和右子树的 右->中->左 遍历相同,那么以 $x$ 为根的子树就是棵对称二叉树。所以对于一个点,维护以它为根的子树的两种遍历方...
题意用一串 $0/1$ 序列表示一棵树的 $\text{dfs}$ 路径,$0$ 表示远离根节点,$1$ 表示靠近根节点。给出两个序列,判断它们是不是同构的树。序列长度 $L\le 3000$ 。题解对每棵树做 $\text{dfs}$ ,回溯时根据与当前节点相连子树的 $\text{hash}$ 值算出当前子树的 $\text{hash}$ 值,最后比较根节点的 $\text{hash}$...