Loading

摘要: 这篇文章主要讲一下问什么要二分以后还要 check(l - 1),以及怎么找距离小于等于 \(k\) 的边的数量。 题目 给定 \(n\) 个点,求出任意两个点的曼哈顿距离的集合的前 \(k\) 大。 思路 我们先将曼哈顿距离转化为切比雪夫距离:我们知道形如 \((x, y)\) 点之间的曼哈顿距离 阅读全文
posted @ 2024-08-13 19:55 SunnyYuan 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 换根树形 DP 描述 当不同的结点作为根结点时,dp 的结果不一样,若枚举每一个结点为根结点再 \(DP\),时间复杂度会很高。这种情况下,使用换根 DP 处理相邻两个结点之间的贡献,达到换根的效果。 实现步骤 任选一个点进行 DP,得到 \(dp[i]\)。 \(f[1] = dp[1]\),其中 阅读全文
posted @ 2024-08-13 19:21 SunnyYuan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题意 \(n\) 个点,\(m\) 个询问。 给你一棵树的括号序列,输出它的直径。 有 \(m\) 次询问,每次询问表示交换两个括号,输出交换两个括号后的直径(保证每次操作后都为一棵树) 输出共 \(m + 1\) 行。 \(3 \le n \le 100\,000,1 \le q \le 100\ 阅读全文
posted @ 2024-08-13 16:52 SunnyYuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题意 给定 \(n\) 个点,求出一个点使得每个点到这个点的切比雪夫距离之和最小。 思路 首先,我们可以把题目中的切比雪夫距离转化为曼哈顿距离,因为我们知道形如 \((x, y)\) 点之间的曼哈顿距离等于 \((x + y, x - y)\) 点之间的切比雪夫距离,\((x, y)\) 点之间的切 阅读全文
posted @ 2024-08-13 11:52 SunnyYuan 阅读(1) 评论(0) 推荐(0) 编辑