11 2024 档案

摘要:最值相关问题我们有常用的 最值分治/笛卡尔树/单调栈 的经典做法,即处理出每个点作为最值能覆盖的区间的左端点/右端点。 注意一个关键点:在笛卡尔树上,任意两个点在原序列上最小值的下标,为两点在原树上的 LCA。 因为笛卡尔树是 BST,所以子树内的下标连续,又因为笛卡尔树是堆,所以根节点一定是最小值 阅读全文
posted @ 2024-11-23 20:30 Rainsheep 阅读(9) 评论(0) 推荐(0) 编辑
摘要:注意到速度的形式是编号相乘,而又有 \(x \in \{1, 2, 3, 4\}\),所以最多 \(\log_2y_i\) 次速度就会达到 \(10^9\) 量级,而此时再加油最少需要 \(1\) 秒,所以再乘一定不优。 直接 dp,有 \(f_{i, j, k}\) 表示当前在第 \(i\) 个加 阅读全文
posted @ 2024-11-20 11:48 Rainsheep 阅读(201) 评论(1) 推荐(0) 编辑
摘要:非常巧妙的一个题。我们首先考虑单组询问该怎么做。 首先需要注意到一个结论,即设答案为 \(x\),那么对于 \(\forall y < x\),\(y\) 都应该放在与组;同样的,对于 \(\forall y > x\),\(y\) 都应该放在与组。 进一步的,我们观察在 \(\text{popco 阅读全文
posted @ 2024-11-12 20:51 Rainsheep 阅读(48) 评论(0) 推荐(0) 编辑
摘要:处理很妙的题,部分细节请教了 未来姚班zyl 和 LYH_cpp,在此鸣谢。 首先考虑把题目给的式子进行转化,设 \(i < j\),那么 \(i\) 和 \(j\) 能传球当且仅当 \(l_i + l_j \le j - i \le r_i + r_j\)。 移项并拆开得到,\(i + l_i \ 阅读全文
posted @ 2024-11-07 20:56 Rainsheep 阅读(371) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示