D题dfs序O(nm)做法 def solve(): n, m = MII() a = LII() b = LII() g = [[] for _ in range(n)] for _ in range(n - 1): u, v = GMI() g[u].append(v) g[v].append(u) f = [[0] * (m + 1) for _ in range(n + 1)] sz = [1] * n c = [] def dfs(x, fa): for y in g[x]: if y == fa: continue dfs(y, x) sz[x] += sz[y] c.append...