在清图的时候不能
for (auto &i : tr) i = {};
而要
for (int i = 1; i <= n; i++) tr[i] = {};
同理,其他初始化也不应该使用 memset(..., 0, sizeof(...))。
memset(..., 0, sizeof(...))
在极端情况下 t=104t = 10^4t=104,每一次 init O(n)O(n)O(n),总共是 104×(2×105)=2×10910^4 \times (2 \times 10^5) = 2 \times 10^9104×(2×105)=2×109,扛不住。