2013年8月13日

POJ1159 Palindrome(最大回文串长度)

摘要: 回文串:给一个串,求最少增添几个字符能使之成为回文串例如:Ab3bd首尾增添2个dA成为Adb3bdA或dAb3bAd解法:动态规划;1)和杭电多校一题统计回文串的题很像,考虑能不能直接套用;2)还是先从动态规划的基本元素分析吧;设状态:dp[i][j]为第i位与第j位之间的串需要多少个最少字符才能组成回文串3)尝试写状态方程并判断最优子结构性质,无后效性(有向无环):Dp[i][j]=dp[i-1][j-1];(s[i]=s[j])Dp[i][j]=dp[i-1][j]+1发现dp[i][j]代表未配对的字符的值写方程很困难,那就换一个等价的角度,求最长回文串长度,只要拿总长度减去此值就可以 阅读全文

posted @ 2013-08-13 00:37 Gddxz 阅读(204) 评论(0) 推荐(0) 编辑

POJ1260 Pearls(多重捆绑成0-1背包)

摘要: 该怎样去思考?1)有n种物品,2)每选一种都要多加上10件,3)每种物品有件数要求,也可选价格更高的代替,问:求最少的耗费如果暂时忽略掉条件2)3)的价格替换;那么装化为多重背包问题?1.背包问题:1)容量为总个数,且必须装满;2)每件物品权值均为1;2.从具体问题分析:主要是在选和不选上浪费那10个额外的物品的钱,如果没有这个条件的话,那当然是尽量选钱数少的,也就是优先选满钱数少的,但现在有了这个条件,主要分有还是没有这个额外的钱数,也就是选和不选的问题,也就是把每种物品总个数捆绑成一个总物体代替,转化成0-1背包问题由于一旦某处选了,则之前的必然全部选完,所以只需每次枚举上一次的选择点,取 阅读全文

posted @ 2013-08-13 00:32 Gddxz 阅读(184) 评论(0) 推荐(0) 编辑

导航