02 2024 档案
摘要:好好玩的题。 思路 对于前 \(K\) 小方案问题。 我们可以考虑当前方案对下一个方案的转移。 重点在于转移的最优化与不重不漏。 只有一种种类 假设没有 \(l,r\) 的限制怎么做。 我们不妨把所有价格排序。 发现一种状态转移到另一种状态,无异与将其中已选择的一个物品不选,选择他后面的一个物品。
阅读全文
摘要:思路 考虑两个人什么时候会相遇。 根据小学的相遇追及问题,两人会相遇的条件为: \[2\times k\times l=t\times (v1+v2) \]\[2\times k\times l=t\times (v1-v2) \]那么对于一个速度 \(v\)。 它可一相遇的次数即为: \[\fra
阅读全文
摘要:来个乱搞。 思路 考虑分治。 对于最裸的暴力。 我们可以调用 solve(l, r) 进行查询。 假如这个区间的众数的出现次数是区间长度,那么可以直接退出,否则我们可以继续分治。 我们把这个暴力进行加工一下。 我们知道 \(l\sim r\) 的区间众数后。 查询 \(l\sim mid\) 的区间
阅读全文
摘要:非常好题目。 思路 可以发现限制最严的一定是两个叶子的联通性。 我们不妨把一个叶子向外起到联通性作用的路径称为有用的路径。 也就是这个叶子走这条路径一定可以两步以内到达任意点。 这个路径集合有什么作用呢。 有一个性质:整个集合的路径的交最终会形成一个连通块。 那么我们就可以进行求解方案数。 考虑容斥
阅读全文
摘要:比较好的莫队题。 思路 考虑使用莫队解决这个问题。 我们对于每个元素,统计 \(b_i=\sum_{j=1}^i [a_j<a_i]\)。 那么我们每一次新加入一个元素产生的贡献为 \(\sum_{j=l}^r [a_j=a_r](b_r-b_j)\)。 发现我们只需要统计 \(\sum_{j=l}
阅读全文
摘要:非常好题目,使我代码长度起飞。 思路 发现 \(K\) 只有三种取值。 考虑分类讨论。 k=1 容易发现只需要求一个端点是 \(1\) 的最长链。 k=3 考虑这个时候我们将有一个遍历整个树的方案。 考虑递归的处理整个问题。 我们从该节点跳到它一个儿子的儿子。 然后递归处理这个儿子的儿子。 然后再跳
阅读全文

浙公网安备 33010602011771号