poj 1651 区间DP
来源:互联网 发布:外国人吃西洋参吗 知乎 编辑:程序博客网 时间:2024/04/28 09:39
这一题,首先可以知道的是 1, N肯定是留到最后的,他们是不可能被拿走的,
如果你无法理解正推的话,可以这样想
当还有1.。。。N的时候,那么谁是最后一个被拿走的呢,假设是k的话,那么1到k k到N之间的一定要先拿走
那么dp【1】【N】 = min( dp【1】【k】 +dp【k】【N】 +cost )( 1 < k < N )
那么当a到b的时候也是类似 dp【1】【N】 = min( dp【a】【k】 +dp【k】【b】 +cost )( a < k < b )
然后我用记忆话搜索做的
AC代码如下:
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;#define MAX 0x3f3f3f3fint N, num[110];int dp[110][110];int DFS( int a, int b ){ if( a == b - 1 ){ return 0; } if( dp[a][b] != -1 ){ return dp[a][b]; } int ans = MAX; for( int i = a + 1; i < b; i++ ){ ans = min( ans, DFS( a, i ) + DFS( i, b ) + num[a] * num[i] * num[b] ); } return dp[a][b] = ans;}int main(){ while( scanf( "%d", &N ) != EOF ){ for( int i = 1; i <= N; i++ ){ scanf( "%d", &num[i] ); } memset( dp, -1, sizeof( dp ) ); cout << DFS( 1, N ) << endl; } return 0;}
0 0
- POJ 1651区间DP
- poj 1651 区间DP
- poj 1651 区间dp
- poj 1651 区间dp
- POJ-1651(区间DP)
- poj 1651(区间dp)
- POJ 1651(区间DP)
- 区间DP入门-poj 1651
- 【DP】 POJ 1651 Multiplication Puzzle 区间DP
- POJ 1651 区间DP 记忆化
- poj-1651 Multiplication Puzzle 区间DP
- POJ 1651 Multiplication Puzzle (区间DP)
- POJ 1651 Multiplication Puzzle (区间dp)
- POJ 1651 Multiplication Puzzle 区间dp(水
- POJ 1651 Multiplication Puzzle(区间dp)
- poj 1651 Multiplication Puzzle (区间DP)
- POJ 1651 Multiplication Puzzle(区间dp)
- poj 1651 Multiplication Puzzle (区间dp)
- 减少GPU应用中的分支方法[1]
- POJ 1419 最大团问题
- 树莓派设置固定ip
- hdu 4801 Pocket Cube 四面魔方,模拟+搜索
- Java实现随机验证码功能实例
- poj 1651 区间DP
- Myeclipse配置tomcat服务器
- 如何在mysql数据库中插入中文数据
- 9.3 客户端
- C语言中基本整型数据类型
- 自动登录、记住我(保存登陆状态)实现
- 第三章作业
- CentOS 6.4单机环境下安装配置Storm
- 微软100题-天天做-第三题