摘要:
难度范围:[绿-紫] CSP-S2024 T3染色 首先动态规划显然,如何呢?不难设 表示对于前 个数来说的话,以 为结尾的答案的最大值,为啥是答案,因为这样可以直接转移 \(f_i=\max_{1\leq j<i}^{f_j+calc(j+1,i)+[a 阅读全文
摘要:
数位dp 应用场所: 大多应用于求解一段很长的区间内,符合条件的数的个数。一般情况是用于计数问题。 先看一个模板题: 令 表示满 位数每个数字的个数。 为什么不用单独讨论不同的数字? 因为对于不考虑前导零而言,满 位数的所有数字中数字 出现的次数 阅读全文
摘要:
ABC351 A: 题意 思路: 直接按题意模拟,求出 和 再相减便是差,因为要获胜所以再 即可。 代码 B: 题意 思路: 直接按照题意 枚举即可。 代码 C: 题意 思路: 直接按照题意模拟即可。 代码 D: 请 阅读全文
摘要:
壹:线性DP 所谓线性DP就是简单、容易写、易看出来的DP,这类DP经常在简单题中出现。 通常在序列中用一维数组存储,矩阵中用二维数组存储。 一维例子:设 表示前 个数中最长连续个 1 出现的次数。 二维例子:设 表示从 走到 阅读全文
摘要:
不得不说这道 dp 既考察对时间复杂度方面的优化,也要考虑对空间方面的优化。 题意 首先从暴力说起: 首先既然让我们删除 个数,也就是说保留 个数。 显然可以 dfs 枚举子集加剪枝优化(不过剪不剪的好像没啥区别),这样做是 估计只能过样例。 代码: 阅读全文
摘要:
线段树: 这是一个线段树的例图。 我们可以发现其实线段树就是将几个连续的小区间拼凑成一个个大区间的过程,从而实现查找时的优秀的复杂度。 引入-分块基础的思想: 其实如果你知道分块的思想,那么你会更好理解线段树的思想,分块就是将一个序列分成 个块每个块的块长就是 \(N / \ 阅读全文