![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
Winterfell30
这个作者很懒,什么都没留下…
展开
-
HDOJ 5677 ztr loves substring (Manacher+背包型DP)
题意问能不能从给出的字符串中找到k个回文子串能组成总长度为l的串。思路先Manacher预处理出所有长度的回文串的个数,然后就变成一个多重背包了,即dp[i][j][l]表示枚举到长度为i的回文串时已经取了j个串总长度为l的情况是否存在,因为长度为i的回文串有很多,一个一个枚举肯定就T了,我们就用多重背包那种做法把数量变成二进制来处理就行了,总复杂度L∗K∗K)∗log(∑cnt[i])L*K*K)原创 2016-05-02 13:50:15 · 563 阅读 · 0 评论 -
POJ1717 Dominoes (背包)
题意每个牌子由上部分和下部分构成,可以180度翻转,求令上部分和下部分的差值最小时的翻转次数。思路dp[i][j]表示当前为第i个格子,上面的和减去下面的差为j时最少翻转个数。因为有正有负所以加个maxn,然后因为数组再滚动一下就可以了。 刚开始WA了后来把内层循环直接改成6000到-6000就过了,还有一个可能RE的地方是sum的上下的和,最大是12000不是6000。代码#include <s原创 2016-06-30 15:36:23 · 938 阅读 · 0 评论