随笔分类 - 题解
摘要:题意 给定一个字符串 ,你可以进行 次操作,每次操作你可以选定一个 ,并将 的大小写转换。 求:操作后,最多有几组配对的字符。(配对的定义是:对于一个字符,如果有大写,有小写被称之为一组。例如:A 和 a 为一组。) 思路 你在读入的时候,你预处理一个
阅读全文
摘要:题意 给定一个长度为 序列 ,现有 次操作,对于每一次操作有: 1 l r:表示将 改为 的数位之和。 2 x:输出 。 思路 可以用一个类似于线段树懒标记的思想,如果不用输出就不修改。
阅读全文
摘要:思路 正难则反,假设每一个棋子都要走过每一个点,所需的步数显然是 。然后考虑对于每一个棋子那些点是必走的。 如果 子树内有这个棋子需要到达的点,则 必走。 对于另一个棋子在 子树内必走过的深度最深的点的深度记作 ,如果 \(md
阅读全文
摘要:思路 首先我们需要看到题目一个特殊的地方:这个序列中只存在 和 。 那么,我们不难发现最终的答案一定是形如下面的序列:。 知道了这些,就很好想了。我们从后往前枚举,如果当前一位为 了,就从
阅读全文
摘要:2022/11/23:修改了一下代码。 题意 有 组数据,每次给出一个 ,表示台阶的数量和询问的次数。 然后再给出一个 为台阶高度的差分数组。 每次询问给出一个 ,表示每次能走 个单位的高度。 问:最高能到达的高度。 思路 考虑暴力,我
阅读全文
摘要:思路 我们可以观察样例,不难发现:对于任意一段长度为 的区间中,如果最大值减最小值加 等于此区间的长度,那么一定有解。 因为,我们的目标是使整个序列升序排列。因此,我们在一个区间内的最大值减最小值加 与区间长度是相等的。 所以,我们可以用上述结论为判断无解的标
阅读全文
摘要:思路 首先证明一下当序列扩大时答案一定不劣。考虑 到 的变化。 \[\begin{aligned} f(l,r) - f(l,r + 1) &= s_{l,r} - xs_{l,r} - s_{l,r + 1} + xs_{l,r + 1}\\ &
阅读全文
摘要:思路 首先可以将题目的操作转化为: 将一个数 异或一个常数 。 将连续两个数 同时异或一个常数 。 那么,你发现最坏情况下,操作次数是 。那么考虑如何将多余步骤给减去。 发现,如果一个区间 ,\(\o
阅读全文
摘要:思路 Part 1 这种题目应该能一眼看出是 DP。 我们令 表示走到 这个位置,最后一步花了 的倍数。 那么,我们的方程就很好想了:\(dp_{i,j} = \sum_{k = 1}^{j - k \times i \geq 0}dp_{i - 1
阅读全文
摘要:思路 由于题目中说这是一棵无根树,不太方便思考,于是,我们可以假装把这棵树看做有根树。 首先我们令 分别表示从根节点到节点 的长度(不算相交部分)。 那么我们可以得到下式: \[ \left\{\begin{matrix} d_{12} = d_1
阅读全文
摘要:思路 这是一道极好的思维题,主要考察了:组合数学和正难则反的方法。 这题可以发现如果用直接法将十分的繁琐,于是乎,我们可以用正难则反的方法,即:总的减去不满足的。 这道题总的很好求,为:。 不满足的情况,我们就可以将题目转化为:\(\operatorname
阅读全文
摘要:思路 因为我们枚举的直径是具备单调性的,所以可以使用二分答案。 我们可以想一个事情,如果有两个点 和 ,它们两点之间的最短路径要么是直接从 ;要么是经过一个中转点 ,即:。 然后,我们可以发现一个显然的规律,就是
阅读全文