POJ1651Multiplication Puzzle题解动态规划DP

【动态规划DP,二维动归】poj1651,Multiplication Puzzle http://poj.org/problem?id=1651 有N张写有数字的卡片排成一行,按一定次序从中拿走N-2张(第1张和最后一张不能拿),每次只拿一张,取走一张卡片的同时,会得到一个分数,分值的计算方法是:要拿的卡片,和它左右两边的卡片,这三张卡片上数字的乘积。按不同的顺序取走N-2张卡片,得到的总分可能不相同,求出给定一组卡片按上述规则拿取的最小得分。 思路,对于 阅读详情
Multiplication Puzzle
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 3460 Accepted: 2034

Description

The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row and scores the number of points equal to the product of the number on the card taken and the numbers on the cards on the left and on the right of it. It is not allowed to take out the first and the last card in the row. After the final move, only two cards are left in the row.

The goal is to take cards in such order as to minimize the total number of scored points.

For example, if cards in the row contain numbers 10 1 50 20 5, player might take a card with 1, then 20 and 50, scoring
10*1*50 + 50*20*5 + 10*50*5 = 500+5000+2500 = 8000
If he would take the cards in the opposite order, i.e. 50, then 20, then 1, the score would be
1*50*20 + 1*20*5 + 10*1*5 = 1000+100+50 = 1150.

Input

The first line of the input contains the number of cards N (3 <= N <= 100). The second line contains N integers in the range from 1 to 100, separated by spaces.

Output

Output must contain a single integer - the minimal score.

Sample Input

6
10 1 50 50 20 5

Sample Output

3650

Source

Northeastern Europe 2001, Far-Eastern Subregion
状态:
d[i][j]表示第i个数到第j个数合并的最小值
状态转移方程:
d[i][j]=min(d[i][j],d[i][k]+d[k][j]+a[i]*a[j]*a[k])
i<k<j
代码:
POJ 1651 - Multiplication Puzzle(区间DP,矩阵链乘三种模版详解) 【题意】题目链接http://poj.org/problem?id=1651 给出n(<=100)个数字,每一个数字有一个权值Ai,求从中抽出除了第一个和最后一个以外的中间的数字的最小费用。抽取的顺序不同最后总的费用也不同,每次抽取第i个数字的费用为a[i-1]*a[i]*a[i+1]; 阅读详情

相关推荐

【动态规划】区间DP - 最优矩阵链乘(另附POJ1651Multiplication Puzzle)

最优矩阵链乘(动态规划) 一个n∗mn*mn∗m的矩阵由 nnn 行 mmm 列共 n∗mn*mn∗m 排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个nm的矩阵乘mp的矩阵,运算量为nmp。 矩阵乘法不满足分配律,但满足结合律。因此A∗B∗CA*B*CA∗B∗C既可以按顺序 (A∗B)∗C(A*B)*C(A∗B)∗C 也可以按 A∗(B∗C)A*(B*C)A∗(B∗C) 来进行。假设A、B、CA、B、CA、B、C 分别是 2∗3、3∗4、4∗52*3、3*4、4*52∗3、3∗4、4∗5

繁凡さん的博客 572

(POJ - 1651)Multiplication Puzzle(区间DP)

题目链接:1651 -- Multiplication Puzzle 题意:给出一组N个数,每次从中抽出一个数(第一和最后一个不能抽),该次的得分即为抽出的数与相邻两个数的乘积。直到只剩下首尾两个数为止。问最小得分是多少? 分析:这道题显然是一道区间dp题,设dp[i][j]表示把从i到j的数全部抽光所能得到的最小得分 ,由区间dp的模板我们知道,现在已经遍历到了区间长度为j-i+1的地方了,所以区间长度小于j-i+1的都已经更新完成,我们就可以从i到j枚举最后一个抽的数来更新dp[i][j],也就是:

AC__dream的博客 388

手把手教你用Python 3.11和Node.js 18在Windows 11上搭建Dify开发环境

本文提供了一份详尽的Windows 11本地Dify开发环境搭建指南。文章手把手教你完成从Python 3.11、Node.js 18的安装配置,到PostgreSQL、Redis数据库服务的部署,再到前后端服务的启动与联调的全过程,并包含常见问题排查与效能优化建议,旨在帮助开发者构建一个稳定、可调试的Dify本地开发环境。

fire9的博客 645

每日一题----POJ1651Multiplication Puzzle

POJ1651Multiplication Puzzle附代码

2201_75867204的博客 297

图像修复黑科技:对比BM3D/DnCNN等5种去噪器在PNP框架中的实战效果

本文深度评测了BM3D、DnCNN等五款主流去噪器在即插即用(PnP)优化框架中的实战表现。通过量化指标、视觉对比及超分等泛化任务测试,揭示了深度学习模型在性能与收敛速度上的优势,并为不同应用场景提供了选型指南与工程化建议。

weixin_29065959的博客 368

实战指南:用Python实现ONVIF WS-Discovery设备发现(附完整代码)

本文提供了一份详细的实战指南,介绍如何使用Python实现基于ONVIF标准的WS-Discovery设备发现协议。文章深入解析了协议原理、网络通信模型,并提供了完整的代码实现,帮助开发者快速构建智能安防和物联网应用中的设备自动发现工具,有效提升网络设备集成与管理的效率。

chair的专栏 1113

Multiplication Puzzle

The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row and scores the number of points equal to the pr...

untilyouydc 270

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 2902

Multiplication Puzzle POJ - 1651 (动态规划)

链接 分析:依次从左到右给你n个数字,每次取出一个数字(这个数字不能是最两边的数字), 这个数字和它左右两边的数字(一共三个数字)相乘,累加这个数。直到最后仅剩下两个数字。求最后累加的最小值。 对于整个牌的序列,最左端和最右端的牌是不能被取走的,除这两张以外的所有牌,必然有一张最后取走。取走这最后一张牌有一个仅与它本身以及最左端和最右端的牌的值有关的得分,这个分值与其他牌没有任何关系。当这张最后被取走的牌被定下来以后(假设位置为j), 最左端到j之间的所有牌被取走时所造成的得分必然只与这之间的牌有关从而与j

大聪明的博客 434

2020.12.25丨CRISPResso2安装教程

一个月前接到一个项目,说是做关于CRISPR的编辑效率个性化分析。本来这个分析以前是没有做过的,不过客户发了参考文献。里面流程和命令行都非常清楚,再加上读研期间CRISPR的项目“中道崩殂”,让我对CRiSPR的技术有些执念,便下决心接下来试试。 整个测序分析使用的工具就是CRISPResso,,下面介绍最快捷的安装方式。 首先,CRISPResso只支持python2.X,不支持3.X你需要下载Anaconda或者miniconda,以Miniconda为例: 安装环境: Linux 64-bi

4633

光伏微电网蓄电池储能控制系统设计及动态性能分析

本文构建了光伏微电网蓄电池储能控制系统的完整理论体系。在系统架构方面,提出了基于直流母线电压平衡的多时间尺度能量管理理论,建立了光伏发电单元的二阶物理模型和MPPT动态跟踪算法。针对蓄电池系统,设计了融合二阶RC等效电路与扩展卡尔曼滤波的SOC估计方法,误差控制在3%以内。双向DC-DC变换器采用状态空间平均建模方法,推导了小信号传递函数,为闭环控制提供理论基础。该体系实现了从瞬时功率平衡到长期能量调度的多层级协同控制,为微电网稳定运行提供了系统的解决方案。

AI的内部世界的博客 191

Multiplication Puzzle(POJ - 1651)(动态规划-区间dp)

Multiplication Puzzle(POJ - 1651)(动态规划-区间dp) judge:POJ 1651 Time Limit: 1000MS Memory Limit: 65536K source:Northeastern Europe 2001, Far-Eastern Subregion Description The multiplication puzzle is pl...

画船听雨眠 421

MIMIC数据库简介

一 、MIMIC简介 MIMIC(Medical Information Mart for Intensive Care),是一个大型的公开数据库。该数据库记录了2001年至2019年期间贝斯以色列女狄肯斯医疗中心重症监护病房患者的相关数据,拥有4万多名患者的医疗健康数据和记录。 MIMIC数据库记录了人口统计学信息,如病人的性别、身高、宗教等情况。记录了实验室检验信息,如血常规,肝功能,肾功能等实验室检测数据。记录了患者的用药信息,如高血压患者服用了治疗高血压类药物等。记录了护理人员以及患者的护理级别等。

越努力 越幸运 1万+

POJ 1651 Multiplication Puzzle【最优矩阵链乘,DP】

其实就是算法课上的例题,找到oj上的题提交测试一下。 POJ 1651 Multiplication Puzzle 题意可以转换为:给你n-1个矩阵(a0∗a1,a1∗a2,...,an−2∗an−1a_0*a_1, a_1*a_2 ,..., a_{n-2}*a_{n-1}a0​∗a1​,a1​∗a2​,...,an−2​∗an−1​),要将它们全部相乘,求一种加括号的乘法次序,使得矩阵的乘法次数之和最小,也就是动态规划中经典的最优矩阵链乘问题。 设dp[i][j]dp[i][j]dp[i][j]表示第i

nefu_ljw的博客 844

【教程4>第4章>第20节】基于FPGA的costas环整体实现与仿真测试

Costas 环是一种用于载波同步的闭环反馈控制系统,主要应用于通信系统中的相干解调。其基本原理是通过鉴相器(Phase Detector,PD)比较接收信号与本地载波信号的相位差,将这个相位差信息经过环路滤波器(Loop Filter,LF)滤波后,去控制数控振荡器(Numerically Controlled Oscillator,NCO)的输出频率和相位,使得本地载波能够跟踪接收信号的载波,最终实现载波同步。Costas 环环路滤波器在载波同步过程中起着不可或缺的作用。

FPGA/MATLAB学习教程/源码/项目合作开发 1263

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ1651:Multiplication Puzzle(区间DP) -ACM

POJ - 1651 Multiplication Puzzle(区间DP) Time Limit:1000MS Memory Limit:65536K Total Submissions:14252 Accepted:...

BIG SHARK的博客 221

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

DP - 区间DP - Multiplication Puzzle - POJ - 1651

DP - 区间DP - Multiplication Puzzle - POJ - 1651 题意: 给定一个长度为n的序列w,可以去除一个数wi,i∈[2,n−1],代价为wi−1×wi×wi+1。给定一个长度为n的序列w,可以去除一个数w_i,i∈[2,n-1],代价为w_{i-1}×w_i×w_{i+1}。给定一个长度为n的序列w,可以去除一个数wi​,i∈[2,n−1],代价为wi−1​×...

njuptACMcxk的博客 204

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

POJ 1651 Multiplication Puzzle 动态规划及搜索

这是一道比较简单的DP,通过分析可以设最后拿走的牌为i,则所求的最优解就是i左边和右边子列的最小连乘积再加上x[a]*x[i]*x[b],应为i将原来的序列划分为两个子列,这两个子列符合“最有子结构”和“重叠子问题”的dp特点,他们的最优解互相之间没有影响,只会影响全局问题的最优解,在POJ discuss中的解析比较经典,摘录如下,以后做题可以常常看看discuss,就当学习,但是还是要独立思考为主对于整个牌的序列,最左端和最右端的牌是不能被取走的,除这两张以外的所有牌 > ,必然有一张最后取走。取走这

Coding for Dreams 2556

POJ - 2955 Brackets + POJ - 1651 Multiplication Puzzle(区间dp)

【POJ - 2955Brackets】 【题解】 题意:给定字符串,输出正规括号序列的长度,比如(),[],(())。 思路:考虑如果s[i]与s[j]匹配,那么dp[i][j]=dp[i+1][j-1]+2;如果s[i]与s[j]不匹配,那么我们可以把这个区间分为[i][k]与[k+1][j]两段,以k为分界点,然后把两段的最优解合并。 但是,考虑()()这种情况,s[1]与s[4]...

菜鸡成长史 150

题解POJ - 1651 Multiplication Puzzle (区间DP)

题目传送门 The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row and scores the number of points equal to ...

Wolfgang_baozi 405

POJ 1651 Multiplication Puzzle

区间DP板子题

EQUINOX1的博客 1120

POJ 1651 Multiplication Puzzle(区间dp)

题目链接: POJ 1651 Multiplication Puzzle 题意: 给出nn个数,每次可以选择从中取走一个数,取走的代价是它左右以及自身三个数的乘积,不允许取走首末两个数字,求将中间n−2n-2个数字都取走的最小代价和? 数据范围:n≤100,每个数字∈[1,100]n\leq 100,每个数字\in [1,100] 分析; 比较简单的区间dp. 用dp[i][j]dp[

ramay7 431

POJ 1651 Multiplication Puzzle 题解 区间DP

题目链接:http://poj.org/problem?id=1651【题目描述】《乘法谜题》乘法谜题源自这样一个背景,我们有一行 n 张牌,平铺在桌面上,每张牌的牌面上都标有一个正整数。玩家的初始得分是 0,他接下来要进行 n-2 次操作,每次操作他都需要从桌面上取出一张牌,然后他的得分会加上他取出的这张牌与取出的这张牌的左边的牌以及取出的这张牌的右边的牌的乘积。在第 n-2 次操作结束后,桌面...

weixin_30426957的博客 140

区间dp -- Multiplication Puzzle POJ - 1651

Multiplication Puzzle POJ - 1651 题意: 给你 n(2 < n <= 100)个数,求把这n个数删到只剩首尾两个数的代价和,删掉一个数的代价是这个数和与它相邻的左右两个数的乘积。 例如: 如果有6个数10 、1、50 、20、 5,删数的顺序为 1、20、50,则代价和为: 10 * 1 * 50 + 50 * 20 * 5 + 10 * 50 * 5 = 500 + 5000 + 2500 = 8000。 如果删数的顺序为 50、20、1,则代价和为: 1 *

dajiangyou123456的博客 227

poj1651 Multiplication Puzzle(简单区间dp)

题目链接:http://poj.org/problem?id=1651 题意:一系列的数字,除了头尾不能动,每次取出一个数字,这个数字与左右相邻数字的乘积为其价值, 最后将所有价值加起来,要求最小值。 这题容易会想到贪心就是先把最大的数先取出这样就能满足剩下的总价值尽可能的小,如果出现多个一样 的数时优先取走价值小的,但是如果有出现多个价值一样的话就不好处理了。 于是可以考虑一...

awow80285的博客 138

POJ1651 Multiplication Puzzle 【区间DP】

题目链接:POJ-1651 kuangbin带你飞【专题二十二】 区间DP 题目描述: The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row a...

Hang_ccccc的博客 319
上一篇: POJ1745Divisibility题解动态规划DP
下一篇: POJ2030The Secret Number题解动态规划DP
power721
博客等级 码龄18年 176粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值