摘要:
原题链接 题解 对于这种无序点对统计问题,我们可以遍历每一个点,然后计算其与之前遍历过的点的配对 \(dfs\) 遍历,设 \(num[i]\) 代表遍历到当前节点时,有多少可与当前节点配对的、节点颜色为 \(i\) 的、且 \(dfs\) 序小于当前节点(即之前遍历过的)的节点 维护方法:每往子节 阅读全文
posted @ 2024-07-12 21:19
纯粹的
阅读(54)
评论(0)
推荐(0)
摘要:
原题链接 题解 固定一个点作为树的根,易得任意一条链,都可以以某个点作为最高点,且链的两端到最高点之和为 \(k\) 那么不难想到遍历每个点作为最高点 那么接下来就变成了在子树里选两个端点,使得到该点的距离之和为 \(k\) 这种无序点对统计,我们可以顺序遍历,然后对于每一个遍历到的点,计算之前与遍 阅读全文
posted @ 2024-07-12 19:51
纯粹的
阅读(24)
评论(0)
推荐(0)
摘要:
原题链接 题解 暴力:遍历所有点为根节点的情况,然后遍历子节点,统计众数,时间复杂度 \(O(n^2)\) 优化:上面的算法时间复杂度之所以为 \(O(n^2)\) 是因为算父节点时,子节点又重新算了一遍,所以我们可以在算父节点时,保留一个子树的贡献,然后其他子树的贡献暴力遍历一遍 运用重链剖分,每 阅读全文
posted @ 2024-07-12 14:23
纯粹的
阅读(16)
评论(0)
推荐(0)
摘要:
原题链接 题解,构造太难想了 当 \(x\) 在二进制表示下,只有一个1时,肯定不行 如果有两个1呢? 在这种情况下,如果 \(m\) 最大的一位,位于 \(x\) 最大的一和第二大的一之间,一定失败 为什么? 分类讨论即可 反之是否成立? 设 \(x\) 最大的一位 \(a\),第二大的位 \(b 阅读全文
posted @ 2024-07-12 11:21
纯粹的
阅读(17)
评论(0)
推荐(0)

浙公网安备 33010602011771号