【动态规划DP,二维动归】poj1651,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']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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一次开始动归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值