poj - 1651 Multiplication Puzzle
简单DP,矩阵相乘,这次尝试自己写一个,居然过了,很好。本来今天还水了poj 1088 二维空间最长下降(上升)序列和 poj 3624 超水0,1背包,也想贴出来凑数的,可是zxpn同志说,这么水的题你也好意思贴出来,只好做罢。
1 #include <stdio.h> 2 #include <string.h> 3 int f[100][100],a[105]; 4 int dp(int i,int j) 5 { 6 int k, min, &ans = f[i][j]; 7 if(f[i][j] != -1) 8 return ans; 9 if(i == j) 10 return ans = 0; 11 min = 1<<30; 12 for(k = i; k < j; k++) 13 { 14 int t = dp(i,k)+dp(k+1,j)+a[i-1]*a[k]*a[j]; 15 if(t < min) min = t; 16 } 17 return ans = min; 18 } 19 int main() 20 { 21 int n; 22 while(~scanf("%d",&n)) 23 { 24 for(int i = 0; i < n; i++) 25 scanf("%d",&a[i]); 26 memset(f,-1,sizeof(f)); 27 printf("%d\n",dp(1,n-1)); 28 } 29 return 0; 30 }
转载于:https://www.cnblogs.com/lzxskjo/archive/2012/07/19/2600169.html
poj - 1651 Multiplication Puzzle相关推荐
- POJ 1651 Multiplication Puzzle(类似矩阵连乘 区间dp)
传送门:http://poj.org/problem?id=1651 Multiplication Puzzle Time Limit: 1000MS Memory Limit: 65536K T ...
- POJ - 1651 Multiplication Puzzle (区间dp)
题目链接:Multiplication Puzzle 定义状态dp[i][j]表示将区间[i, j]全部取完所需要的最小代价,答案就是dp[1][n - 2]. 状态转移方程为:dp[i][j] = ...
- POJ 1651 Multiplication Puzzle 区间dp(水
题目链接:点击打开链 题意: 给定一个数组,每次能够选择内部的一个数 i 消除,获得的价值就是 a[i-1] * a[i] * a[i+1] 问最小价值 思路: dp[l,r] = min( dp[l ...
- 【POJ - 1651】Multiplication Puzzle(区间dp)
题干: The multiplication puzzle is played with a row of cards, each containing a single positive integ ...
- 动态规划训练8 [E - Multiplication Puzzle POJ1651]
Multiplication Puzzle POJ - 1651 题意: 在一个序列中,拿走一个数字,那么得分就是这个数字以及它相邻的两个数字,这三个数字的乘积.求最小得分. 这道题乍一看感觉是区间D ...
- poj 1651区间dp
poj 1651 题意:给出一个序列,要求取走序列中出首尾之外的数字,问最小花费.取走第k个的花费a[k-1]*a[k]*a[k+1]. //#include<bits/stdc++.h> ...
- poj 3678 Katu Puzzle(2-sat)
Description Katu Puzzle is presented as a directed graph G(V, E) with each edge e(a, b) labeled by a ...
- 【动态规划DP,二维动归】poj1651,Multiplication Puzzle
http://poj.org/problem?id=1651 有N张写有数字的卡片排成一行,按一定次序从中拿走N-2张(第1张和最后一张不能拿),每次只拿一张,取走一张卡片的同时,会得到一个分数,分值 ...
- 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
每个元素只有两种可能的取值,所以是2-SAT的模型. 我们建立2*n个点,x∈[1-n]表示x取0,x∈[n+1-n+n]表示x取1 考虑将所给的关系转化为有向边. u and v=1:u,v都必须是 ...
最新文章
- 数据库事务的ACID特性及含义
- 直播 | 脑血管斑块磁共振成像:技术研发、临床转化和数据挑战
- Linux 系统的备份恢复
- P5221 Product(反演)
- linux 权限提示信息,命令行快速提示:权限进阶 | Linux 中国
- day13 迭代器和生成器
- arima模型_[不说人话系列]-ARIMA模型
- Fibonacci思想的灵活应用(洛谷P1011题题解,Java语言描述)
- jqGrid colModel 参数(来自中文手册)
- python中random函数的使用方法 详解
- 经典]Linux内核中ioremap映射的透彻理解【转】
- 手把手教你强化学习 (八) 强化学习中的值函数近似算法
- 蓝桥杯 算法提高 一元三次方程求解
- 8086、80286、80386
- js表格实现行、列冻结
- switch系统升级无法连接服务器失败,switch更新无法连接服务器(图文)
- 简化预测集合的永磁同步电机的无差拍预测转矩控制系统Simulink仿真
- javaweb超市商品库存信息管理系统报告
- 跟着示例学Ubuntu UFW防火墙设置
- 网络图片缩略图查看工具
热门文章
- matlab程序eX2_2是什么意思,第2章 MATLAB程序设计
- Centos7 Docker Compose部署mysql5.7
- linux字符串转为二进制,Linux printf将十进制转换为二进制?
- php导出excel方法,PHP导出EXCEL简单实用方法
- Spring Cloud Alibaba 升级改造:老项目升级到微服务的重构策略
- python中in_python中的min和in用代码实现
- FastAPI 之自动化测试数据库接口
- 将毫秒转换_Matlab将Unix时间戳转为可读日期
- php 导出excel 特殊字符,export 导出的excel sheet名字包含特殊字符
- 教程:9、网络通信工具