随笔分类 - 题解
摘要:思路 区间 DP 好题,合并的时候十分毒瘤。 首先,定义 表示合并 区间不同的方案的数量。不难发现,如果区间长度为奇数(即 为奇数),一定无法合并。 然后,如果 是朋友关系,有 \(dp_{i, j} = dp
阅读全文
摘要:思路 定义 表示数 在序列中出现的次数。如果我们选出 个数,答案就是(其中 表示 ): \[ \sum_{i = 1}^m\frac{\binom{n}{x} - \binom{n - vis_i}{k}}{\bino
阅读全文
摘要:思路 通常来说,对于倍增问题 表示的是以 为起点,走 步的答案。 但是,对此此题,如果对于点倍增,因为每一个点可能会有多条边经过,所以,不能对点进行倍增。 但如果对边进行倍增,无论怎么走 步后的位置一定相同,所以考虑对每一条边倍增
阅读全文
摘要:思路 一个简单的贪心,对于每一次操作,我们假设我们能用盒子的大小的数组处理成 。那么,我们可以对 进行从小到大排序。 然后,对于我们所有的箱子,我们可以以 为关键字,从小到大排序。 接着,我们可以进行暴力枚举,对于 ,我们要取的必定为 \(\max_{
阅读全文
摘要:思路 首先发现一个事情,任意一个子串都可以由 的某一个后缀的后面删除一些字符得到。 因此假如 的某一个后缀的值为 ,那么我们可以减去后面的我们不用的数字 ,然后除以 的若干次幂得到,即 。 于是得到
阅读全文
摘要:模拟赛最后 分钟想到的做法。 思路 首先有一个显然的贪心策略:我们放炸弹的地方要尽可能的使这个炸弹能影响到更多的怪上。 那么我们可以将对于一个怪 能够影响到它的区间表示出来 。 然后将这些区间排个序,可以粗略画出这样
阅读全文
摘要:思路 考虑将 和 的贡献分开计算。 显然我们对这个序列进行一次排序不会影响最终的答案,因此我们可以先排序一下。 然后有一个很经典的 trick,就是你枚举每一个数 ,将 令为最大值(最小值)。因为我们先前排序过一次,因此我们可以轻易的计算出比
阅读全文
摘要:思路 问题本质上就是一个在一段区间中找完整线段的数量。 我们先不考虑所有 对答案的限制,那么,我们的答案就应该是 线段的数量减去 的数量,这个东西可以直接用树状数组维护。 然后,再来考虑 对答案的限制。如
阅读全文