摘要: 这一道题目作为最玄学的无法严格证明的题目记住,加深一下印象 主要是阐述第一个题解说明的问题 我们的AC代码也有这个问题,对于第一篇题解给出的那个反例,我们也会输出INF的 但是看看第一篇题解下面说的,我们不用考虑来回修改的问题 为什么?这里解释一下\(a_i\)为\(-1\)但是要将\(a_i\)修 阅读全文
posted @ 2024-01-19 16:14 最爱丁珰 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 这道题目很容易想出一个状态:\(f[i][j]\)表示前\(i\)个木板一共涂了\(j\)次的最大价值 然而我们在枚举的时候可能就会同时枚举当前这个木块涂得次数以及涂的最后一个位置是哪里 这样的时间复杂度就是\(O(nTm^2)\)会超时 但是很显然状态应该与这个大差不差,根据我们前面几道题目,我们 阅读全文
posted @ 2024-01-19 16:06 最爱丁珰 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 首先来看一下蓝书上面的两个思考题 一. 将一个序列\(A\)改成单调不下降序列,最少需要修改多少个数? 答:用\(A\)的长度减去其最长单调不下降子序列的长度即可 那如果在最少修改数的基础上,我要让每个数改变的绝对值之和的最小值最小怎么办? 答:首先,这根“Making the Grade”这道题目 阅读全文
posted @ 2024-01-19 14:28 最爱丁珰 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 很容易想到一个状态\(f[i][j][k]\)表示\(A\)串前\(i\)个,\(B\)串前\(j\)个,从\(A\)中取了\(k\)个子串的总方案数 但是稍微推一下状态转移方程就可以知道这个时间复杂度和空间复杂度都会爆炸,其中时间复杂度为\(O(nm^2k)\) 空间复杂度可以用滚动数组来优化,所 阅读全文
posted @ 2024-01-19 13:07 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 裸的LCS问题。求长度并不困难,困难的是如何输出所有方案 所以这道题目可以作为DP输出方案的一道典型题目记住 我们一般的方法是记住当前状态是由哪个状态转移过去的,然后逐步递归输出 下面的代码的\(work\)表示两个串分别的前\(x\)个,前\(y\)个,LCS还剩下\(l\)个字符的所有方案(这里 阅读全文
posted @ 2024-01-19 12:04 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑