rt,我看了第一篇题解 https://www.luogu.com.cn/article/u2b528rv。
我的想法是每一次 dfs 中的:
for (; H[u].size() && H[u].size() > num; H[u].pop()) tmp.push_back(H[u].top()); // 强制弹堆
感觉都是 O(X)O(X)O(X) 的,那么时间复杂度上限不就是 O(dXlogd)O(d X \log d)O(dXlogd) 了吗?
如何均摊证明?