上一页 1 ··· 103 104 105 106 107 108 109 110 111 ··· 132 下一页
摘要: 首先来看一下蓝书上面的两个思考题 一. 将一个序列\(A\)改成单调不下降序列,最少需要修改多少个数? 答:用\(A\)的长度减去其最长单调不下降子序列的长度即可 那如果在最少修改数的基础上,我要让每个数改变的绝对值之和的最小值最小怎么办? 答:首先,这根“Making the Grade”这道题目 阅读全文
posted @ 2024-01-19 14:28 最爱丁珰 阅读(84) 评论(0) 推荐(0)
摘要: 很容易想到一个状态\(f[i][j][k]\)表示\(A\)串前\(i\)个,\(B\)串前\(j\)个,从\(A\)中取了\(k\)个子串的总方案数 但是稍微推一下状态转移方程就可以知道这个时间复杂度和空间复杂度都会爆炸,其中时间复杂度为\(O(nm^2k)\) 空间复杂度可以用滚动数组来优化,所 阅读全文
posted @ 2024-01-19 13:07 最爱丁珰 阅读(31) 评论(0) 推荐(0)
摘要: 裸的LCS问题。求长度并不困难,困难的是如何输出所有方案 所以这道题目可以作为DP输出方案的一道典型题目记住 我们一般的方法是记住当前状态是由哪个状态转移过去的,然后逐步递归输出 下面的代码的\(work\)表示两个串分别的前\(x\)个,前\(y\)个,LCS还剩下\(l\)个字符的所有方案(这里 阅读全文
posted @ 2024-01-19 12:04 最爱丁珰 阅读(27) 评论(0) 推荐(0)
摘要: 这种微调状态的trick可以学学。以后计数DP觉得时间复杂度稍微超出了,而且状态显然要这么设置并且没有什么优化空间的时候就可以这么想(这种处理方式跟前面的线性DP最后一个选还是不选的处理方式是差不多的) 这里是计数DP的要求,做到不重不漏(这里的处理方法跟“金字塔”这道题目是一样的) 这里要注意,对 阅读全文
posted @ 2024-01-18 23:18 最爱丁珰 阅读(18) 评论(0) 推荐(0)
摘要: 最开始很容易想到设\(f[i][j][k]\)表示区间\([i,j]\)合并出\(k\)是否可以,显然复杂度爆炸 这样做的问题是什么? 冗余状态太多了!题目只关心给的那一个\(t\),我们只用想如何达到这个\(t\)即可 既然这样,我们考虑最终这个数是怎么来的,手动模拟一下 设有五个数A B C D 阅读全文
posted @ 2024-01-18 22:27 最爱丁珰 阅读(18) 评论(0) 推荐(0)
摘要: 这道题目主要是想一下怎么输出方案吧 见代码 阅读全文
posted @ 2024-01-18 20:47 最爱丁珰 阅读(23) 评论(0) 推荐(0)
摘要: 解释一下蓝书上面的\(f[i][x][y]\)到底是什么意思 我们认为三个员工是有名字的(即各不相同),那么\(f[i][x][y]\)表示完成第\(i\)个任务的时候,其中两名员工位于\(x\)和\(y\),另一名员工位于\(p_i\)的最小值,我们假设三元组\((x,y,z)\)表示三个员工的位 阅读全文
posted @ 2024-01-18 19:08 最爱丁珰 阅读(38) 评论(0) 推荐(0)
摘要: 再提供一种证明方法,画的图跟Y总一样 那个红框框里面,我们任选一个点,比如中间那个点,设为\(b[i]\),我们将其向靠近\(a[i]\)移动(不妨设为向上),在移动过程中,有可能会导致后面一些比\(b[i]\)大的\(b\)跟着往上面移动,然后改变和值,当整体往上移动会导致和值变大时,我们将整体往 阅读全文
posted @ 2024-01-18 17:38 最爱丁珰 阅读(30) 评论(0) 推荐(0)
摘要: 这道题目本来很简单 主要是来看一下普通DP怎么做 这个相当于形成了一个DAG 这种矩阵成DAG的模型可以注意一下 阅读全文
posted @ 2024-01-18 16:54 最爱丁珰 阅读(18) 评论(0) 推荐(0)
摘要: ![](https://img2024.cnblogs.com/blog/2490134/202401/2490134-20240118162813139-1815847992.png) 阅读全文
posted @ 2024-01-18 16:28 最爱丁珰 阅读(5) 评论(0) 推荐(0)
上一页 1 ··· 103 104 105 106 107 108 109 110 111 ··· 132 下一页