码迷,mamicode.com
首页 > 其他好文 > 详细

区间DP-POJ1651-Multiplication Puzzle

时间:2014-12-08 21:14:49      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   for   

题目:http://poj.org/problem?id=1651

水题

题意:若干张卡片,第i张卡片的分值为a[ i ] ( 1 <= i <= N )。现在游戏如下,给定N张卡片,除了第一张和最后一张卡片不可取之外,你可任取一张,得到分值a[ i – 1] * a[ i ] * a[ i + 1 ],然后就把这张卡片去掉。题目要求最后计算最小的总得分。

原理:矩阵连乘。

 1 #include <iostream>
 2 #include<stdio.h>
 3 #include<stdlib.h>
 4 #include<string.h>
 5 using namespace std;
 6 long long dp[110][110],a[110],tmp;
 7 
 8 int main()
 9 {
10     int n,i,j,k,t,len,m,tmp;
11     while(scanf("%d",&n)!=EOF)
12     {
13         for(i=0; i<n; i++)
14             scanf("%d",&a[i]);
15         memset(dp,0,sizeof(dp));
16         for(len=1; len<=n-1; len++)
17             for(i=1,j=len+1; j<=n-1; i++,j++)
18             {
19                 m=999999999;
20                 for(k=i;k<=j-1;k++)
21                 {
22                     tmp=dp[i][k]+dp[k+1][j]+a[i-1]*a[k]*a[j];
23                     if(tmp<m)
24                         m=tmp;
25                 }
26                 d[i][j]=m;
27             }
28         printf("%lld\n",dp[0][n-1]);
29     }
30     return 0;
31 }

 

区间DP-POJ1651-Multiplication Puzzle

标签:style   blog   http   io   ar   color   os   sp   for   

原文地址:http://www.cnblogs.com/alohagin/p/4151797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!