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