zoj 1602 Multiplication Puzzle
来源:互联网 发布:webstorm js代码提示 编辑:程序博客网 时间:2024/04/30 14:13
寒假已经过去那么几天了,加油了,这个寒假很关键很关键!
/*dp不错的一道题。状态方程dp[i][j]=min{dp[i][k]+dp[k][j]+num[i]*num[k]*num[j]} (i<k<j)dp[i][j]表示第i个元素到第j个元素按照游戏规则所得的最优解。Process:1.一开始一直想成 dp[i][j]=min{dp[i][k]+dp[k][j]+num[k-1]*num[k]*num[k+1]} (i<k<j) 然后发现上面式子明显就错了,因为这样表示先取出num[k],可是取了k之后他两边的元素明显 会受到影响。。2.N久之后才转过弯来,应该是num[k]作为最后取的元素,这样就不影响其余元素状态了。 所以很多时候反向考虑问题是很重要的!*/#include <iostream>#include <cstdio>#include <limits.h>using namespace std;int num[110];int dp[110][110];int main(){ int n,i,j,k,mini; while( cin>>n ) { for( i=0;i<n;i++ ) cin>>num[i]; for( i=0;i<=n-2;i++ ) dp[i][i+1]=0; for( j=2;j<=n-1;j++ ) { for( i=0;i<=n-1-j;i++ ) { mini=INT_MAX; for( k=i+1;k<i+j;k++ ) if( mini>dp[i][k]+dp[k][i+j]+num[i]*num[k]*num[i+j] ) mini=dp[i][k]+dp[k][i+j]+num[i]*num[k]*num[i+j]; dp[i][i+j]=mini; } } cout<<dp[0][n-1]<<endl; } return 0;}
- zoj 1602 Multiplication Puzzle
- ZOJ 1602 Multiplication Puzzle
- zoj 1602 Multiplication Puzzle
- ZOJ 1602 Multiplication Puzzle (DP)
- ZOJ 1602 Multiplication Puzzle(矩阵连乘)
- ZJU 1602 Multiplication Puzzle
- POJ 1651 / ZOJ 1602 / Northeastern Europe 2001 Multiplication Puzzle(dp)
- multiplication puzzle
- Multiplication Puzzle
- Multiplication Puzzle
- Multiplication Puzzle
- poj Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- poj 1651 Multiplication Puzzle
- PKU 1651 Multiplication Puzzle
- POJ 1651 Multiplication Puzzle
- poj 1651 Multiplication Puzzle
- Multiplication Puzzle--动态规划
- MSVCR100.dll VS2010
- linux的telnet服务
- linux线程通信
- .NET性能相关书籍
- 技嘉的型号区别
- zoj 1602 Multiplication Puzzle
- JAVA反射机制
- windows上的tomcat配置
- Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
- 求救SSH系统性能问题-数据库连接泄漏问题[由于帖子不能贴图片,暂时先把问题放这了]
- EJB3.0定时发送jms(发布/定阅)方式
- EJB与JAVA BEAN_J2EE的异步消息机制
- 小程序员对时间管理的一点观点阐述
- 22岁年终总结