随笔分类 - 数据结构-堆,可并堆
摘要:题目 点这里看题目。 分析 其实是一道比较套路的题目。一开始就并不那么容易想到如下的 DP: 设 表示第 次滋水时,当前若处在 位置,可能受到的最小伤害。转移还是比较显然: \[ f_{i,j}= \begin{cases} \min_{j-T_{i}
阅读全文
摘要:题目 点这里看题目。 分析 本题有很多直接构造伪光滑数的做法,这些去网上搜一搜就好了。 这里讲一个很暴力但又很有意义的做法。 考虑到限制的特殊性,需要知道指数和,我们可以写出下面这个状态: :最大质因子刚好为 ,指数和为 的数集,此时应有 \(k\le
阅读全文
摘要:题目 点这里看题目。 分析 感觉自己好蠢 假如我们有两棵树,我们应该怎么计算出它们合并之后的最优解呢? 设最优情况下,的所有内存段的集合为,的集合为。我们可以知道,中所有的元素都是不能再合并的(废话)。 考虑有$m_1,m_
阅读全文
摘要:题目 "点这里" 看题目。 分析 首先考虑只有洗衣机的情况。我们可以想到,当前洗衣任务结束越早的洗衣机应该被先用,因此可以用堆来动态维护。 再考虑有烘干机的情况。很显然,越晚洗完的衣服应该越早烘干。因此我们可以按照处理洗衣机的方法,给衣服按照结束洗衣时间从大到小分配烘干机。 用一个堆对洗衣机和烘干机
阅读全文
摘要:题目 "点这里" 看题目。 分析 关于树上路径的统计问题,我们不难想到用点分治。而这道题存在修改,因此我们用 " 动态点分治 "。 考虑正常的点分治,我们在每一层点分治中求的是经过当前点的最大关灯点距离。我们先求出本层中所有关灯点到自己的距离,并取其中 来自不同子树 的最大值和次大值,相加得到本层的
阅读全文