POJ 1651 Multiplication Puzzle
来源:互联网 发布:java final class 编辑:程序博客网 时间:2024/05/16 09:44
简单的区间dp。
dp状态描述:dp(i,j)将第i个到第j个全部取走的最小花费。
dp状态方程:dp(i,j)=min(dp(i,k-1)+cost(k)+dp(k+1,j))。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define maxn 111#define inf 100000005int dp[maxn][maxn];int v[maxn];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(dp,0,sizeof(dp)); int i,j,k; for(i=1;i<=n;i++) scanf("%d",&v[i]); for(i=2;i<n;i++) dp[i][i]=v[i-1]*v[i]*v[i+1]; for(k=1;k<n-2;k++) { for(i=2;i+k<n;i++) { dp[i][i+k]=inf; for(j=i;j<=i+k;j++) { dp[i][i+k]=min(dp[i][i+k],dp[i][j-1]+v[i-1]*v[j]*v[i+k+1]+dp[j+1][i+k]); } } } printf("%d\n",dp[2][n-1]); } return 0;}
0 0
- POJ 1651 Multiplication Puzzle
- poj 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- poj 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- Poj 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- Multiplication Puzzle POJ 1651
- poj 1651 Multiplication Puzzle
- POJ 1651:Multiplication Puzzle
- Poj 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- poj 1651 Multiplication Puzzle
- POJ - 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- POJ 2955 Brackets
- 我的java学习日记(21、22)
- 从生活中细节看产品设计
- 初学数据库
- MapReduce的输入输出格式
- POJ 1651 Multiplication Puzzle
- Oracle Primavera P6 导入 Excel文件
- 野指针
- ZJU 3469 Food Delivery
- void glutMainLoop(void); glut初始化API(2)
- linux下执行mysql的sql文件
- C++学习笔记5__错误处理和调试 动态内存 副本构造器
- HDU 2476 String painter
- float、border、position属性