上一页 1 ··· 5 6 7 8 9
摘要: UPDATE on 2024.5.10 删去左偏树代码中令人误解的 fa 数组。 前话 题目链接:洛谷。 貌似别人都是使用并查集维护的方法,然而由于排序、最短路等算法瓶颈,以下令 \(n\) 和 \(m\) 同阶,总的时间复杂度依然是 \(\Theta(n \log n)\) 的,那么并查集是否有点 阅读全文
posted @ 2024-03-19 16:28 XuYueming 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题目分析 其他人要么倍增,要么左偏树,那我就来讲讲朴实无华的 dfs 序加上线段树的做法。 首先发现题目中明确指出了作乘法的时候一定是乘上一个大于零的数,这是为什么呢?首先把可以占领当前城池的战斗力的不等式列出来: \[h_j \le \left\{ \begin{array 阅读全文
posted @ 2024-03-14 18:46 XuYueming 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题意简述 给定一棵树,求断掉一条边再连上一条边所得的新树直径最小值和最大值,以及相应方案(你可以不进行任何操作,即断掉并连上同一条边)。 题目分析 假设我们枚举断掉某一条边,得到了两棵树,并且知道它们的直径分别为 \(d_0, d_1\),那么如何连接一条边让新树的直径最大 阅读全文
posted @ 2024-03-14 18:45 XuYueming 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 前言 题目链接:洛谷。 题目分析 显然,手模样例发现答案分为以下几个贡献: 所有圆外面的那个大平面,贡献为 \(1\)。 每个圆至少被分成一部分,贡献为 \(n\)。 如果有一个圆被“拦腰截断了”,即整条直径上都被更小的圆填满了,就额外对答案贡献加 \(1\),这也是我们所求部分。 暴力跳 set 阅读全文
posted @ 2024-02-22 21:25 XuYueming 阅读(26) 评论(0) 推荐(0) 编辑
摘要: UPDATE on 2024.4.25 改掉奇怪压行码风,并稍作排版。 前言 题目链接:洛谷。 题目分析 首先发现区间中的个数等于 \(\texttt{高度大于 x 的位置的个数} - \texttt{连续两个位置都是大于 x 的位置的个数}\)。具体令 \(H_i = \min(h_i, h_{i 阅读全文
posted @ 2024-02-15 18:18 XuYueming 阅读(60) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9