http://poj.org/problem?id=1651
有N张写有数字的卡片排成一行,按一定次序从中拿走N-2张(第1张和最后一张不能拿),每次只拿一张,取走一张卡片的同时,会得到一个分数,分值的计算方法是:要拿的卡片,和它左右两边的卡片,这三张卡片上数字的乘积。按不同的顺序取走N-2张卡片,得到的总分可能不相同,求出给定一组卡片按上述规则拿取的最小得分。
思路,对于i,j之间的任意一个k都可能是最后一个拿走的,所以:
opt(i, j) = opt(i, k) + opt(k, j) + a[i]*a[k]*a[j], k belongs to (i, j)。
大区间以来小区间,所以从 l=3一次开始动归。
最小得分策略:二维动态规划解Multiplication Puzzle

本文介绍了如何解决POJ1651题——Multiplication Puzzle。问题核心在于利用动态规划DP策略,通过计算不同取卡顺序下的得分,找出使总分最小的取卡序列。公式为:opt(i, j) = min(opt(i, k) + opt(k, j) + a[i]*a[k]*a[j]),k在i和j之间。通过从较小区间开始递归计算,最终得出最小得分。"
87546621,8367711,DVWA学习:环境搭建与SQL注入实战(低级),"['DVWA', 'SQL注入', 'Web安全', 'Docker', 'php']
最低0.47元/天 解锁文章
368

被折叠的 条评论
为什么被折叠?



