博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1651Multiplication Puzzle[区间DP]
阅读量:6172 次
发布时间:2019-06-21

本文共 1989 字,大约阅读时间需要 6 分钟。

Multiplication Puzzle
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 8737   Accepted: 5468

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

610 1 50 50 20 5

Sample Output

3650

Source

, Far-Eastern Subregion

题意:选数字删去,价值为它乘以左右,头尾不能取,求最小价值

裸的矩阵链乘
f[i][j]=min(f[i][j],f[i][k]+f[k][j]+a[i]*a[k]*a[j]);
f[i][i+1]不能初始化为INF
#include 
#include
#include
#include
using namespace std;const int N=105,INF=1e9;inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x;}int n,a[N],f[N][N];int main(){ n=read(); for(int i=1;i<=n;i++) a[i]=read(); for(int i=n;i>=1;i--) for(int j=i+2;j<=n;j++){ f[i][j]=INF; for(int k=i+1;k<=j-1;k++) f[i][j]=min(f[i][j],f[i][k]+f[k][j]+a[i]*a[k]*a[j]); } printf("%d",f[1][n]);}

 

转载地址:http://qptba.baihongyu.com/

你可能感兴趣的文章
写出这个数 (20)
查看>>
10个常用方法有效优化ASP.NET的性能
查看>>
Sublime Text 3常用插件—Emmet
查看>>
Css远程字体 font-face
查看>>
plsql基础教程(自学用)
查看>>
LOJ#2720 你的名字
查看>>
TexturePacker 如何使用自带的加密功能及在cocos2dx中的使用
查看>>
typeof,constructor,hasOwnProperty,instanceof ,isPrototypeOf等名词解释
查看>>
漫谈可视化Prefuse(五)---一款属于我自己的可视化工具
查看>>
3.7
查看>>
kafka基础
查看>>
[非技术]滑雪恐怖故事
查看>>
Java Web整合开发(81)
查看>>
Java数据结构与算法(6) - ch05循环链表(First Last List)
查看>>
scanf,cin,printf,cout,putchar效率比较
查看>>
wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍(转)...
查看>>
Android Button事件
查看>>
Badboy录制
查看>>
遇到ANR问题的处理步骤
查看>>
一个执念重度患者的自白
查看>>