摘要: 与顺序相关的 \(2\) 元组求值问题,往往利用线段树进行维护,算一种经典的操作。 我们不妨先从一道简单的问题入手:求数列逆序对数。 树状数组是一个不错的选择,利用其前缀和性质维护桶,倒着扫,边扫边加数,同时查询,非排列再离散化一下,问题在 \(\Theta(n\log n)\) 复杂度内得解。 # 阅读全文
posted @ 2023-10-16 07:32 Melting_Pot 阅读(90) 评论(0) 推荐(0)
摘要: 写在前面:序列分治是一种比较常见的技巧,将问题划分中点,每次只考虑计算跨区间中点算贡献,然后递归左右区间分开统计答案即可。 Analysis 本题不同的区间均能对答案产生贡献,我们考虑如何跨中点算贡献。与常见跨中点算贡献的套路相同,我们将跨中点右区间划分为三段:最值靠左,最值左右各异,最值靠右。再根 阅读全文
posted @ 2023-10-02 15:06 Melting_Pot 阅读(150) 评论(0) 推荐(3)
摘要: 写在前面: 说实话本蒟蒻并没有足够的实力与自信去完成这样一件作品,所谓的“优化”也不过是我个人拙劣理解,但是形成这样一个完整的知识框架必然有益无害,与我而言,这件事一定要做,所以本蒟蒻会坚持很长时间,去完善本篇博客。因此本博客在某种意义上相当于我个人的成长记录,在它逐渐成型的过程中必然伴随着漏洞,谬 阅读全文
posted @ 2023-09-26 21:36 Melting_Pot 阅读(111) 评论(7) 推荐(6)
摘要: 简介: \(\mathbf{meet}\) \(\mathbf{in}\) \(\mathbf{the}\) \(\mathbf{middle}\) 是一种特殊的搜索技巧,利用了“折半”这种思想,先分别搜出两半子问题的答案,再利用总问题与子问题之间的关系进行合并,得出答案。 关于时间复杂度: 原问题 阅读全文
posted @ 2023-09-18 18:05 Melting_Pot 阅读(73) 评论(1) 推荐(3)
摘要: 闲话 8.23 起因是 Rolling_star 在考古 IMO 时发现了这样一道预选题: 给出序列 \(\{a_n\}\) 满足: \[2^n=\sum_{d|n}{a_d} \]求证: \[n|a_n \]我们先做一遍底幂轮换 (\(Swap\) \(the\) \(base\) \(numbe 阅读全文
posted @ 2023-08-23 20:28 Melting_Pot 阅读(139) 评论(7) 推荐(3)
摘要: 快来点踩 阅读全文
posted @ 2023-08-22 20:12 Melting_Pot 阅读(102) 评论(3) 推荐(0)
摘要: 题目链接:[JOISC 2022 Day1] 监狱 本题的思路并不刁钻,但十分考验代码能力,因此本蒟蒻尽量讲的仔细一点,尽量串联起思路与代码中的重点,当然也方便本人加深理解。 Analysis: 首先对于两个的罪犯,我们思考他们在什么情况下不合法,无非以下几种: 两个囚犯路径有重合,且相向而行。 两 阅读全文
posted @ 2023-08-22 11:50 Melting_Pot 阅读(75) 评论(1) 推荐(1)
摘要: abcdefg 阅读全文
posted @ 2023-08-19 15:34 Melting_Pot 阅读(216) 评论(36) 推荐(25)
摘要: 很有意思的一道题,来水一篇: Analysis: 首先,我们对于每一个连通块,都需要找到一个特征值来统计,思考一下就知道它是每个连通块的左或右端点,本文使用左端点来统计。 进而,我们考虑对于每一种高度的答案分开统计,我们用 \(0\) 代表在当前高度下露出水面的石柱,用 \(1\) 表示当前高度下被 阅读全文
posted @ 2023-08-15 07:36 Melting_Pot 阅读(93) 评论(1) 推荐(0)
摘要: 没有封完的全家桶 #include<bits/stdc++.h> using namespace std; #define ld double #define vec Point const ld eps=1e-10; const int N=10; int dcmp(ld a){return fa 阅读全文
posted @ 2023-08-09 06:37 Melting_Pot 阅读(145) 评论(7) 推荐(12)