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

浙公网安备 33010602011771号