http://lx.lanqiao.cn/problem.page?gpid=T417

题意:……

思路:n=1000,一开始觉得区间DP会超时,后来想不到其他做法就这样做了,居然没超时。

状态转移:dp[l][r] = min(dp[l][r], dp[l][k] * dp[k][r] + num[l]*num[k]*num[r]).

表示用l*k的矩阵去和k*r的矩阵相乘,然后取最小。

 #include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL INF = 100000000000000000LL;
LL num[];
LL dp[][];
int main() {
LL ans = ;
int n; cin >> n;
for(int i = ; i <= n; i++) scanf("%lld", &num[i]), dp[i][i] = num[i];
for(int len = ; len <= n; len++) {
for(int l = ; l + len <= n; l++) {
int r = l + len;
dp[l][r] = INF;
for(int k = l + ; k < r; k++) {
dp[l][r] = min(dp[l][r], dp[l][k] + dp[k][r] + num[l] * num[k] * num[r]);
}
}
}
cout << dp[][n] << endl;
return ;
}

最新文章

  1. ASP.NET MVC 5 Web编程5 -- 页面传值的方式
  2. 数据结构0103汉诺塔&amp;八皇后
  3. javadoc错误: 编码gbk的不可映射字符
  4. SharePoint2010升级到SharePoint2013操作手册
  5. jQuery如何检查某个元素在网页上是否存在
  6. CRAHNs: Cognitive radio ad hoc networks
  7. Mysql Cluster 集群 windows版本
  8. iOS基础 - Copy
  9. 中文字符 unicode转utf-8函数 python实现
  10. 如何学习 MFC ?
  11. unity使用ugui自制调色面板
  12. package.json中 npm依赖包版本前的符号的意义
  13. 好看的alert弹出框sweetalert
  14. ASP.NET MVC多语言 仿微软网站效果(转)
  15. 【MySql】【Navicat】下载,安装,激活攻略
  16. bash 括号(小括号,双小括号,中括号,双中括号,大括号)
  17. Gunicorn使用详解
  18. 一步一步学习IdentityServer3 (5)
  19. 高效使用 JavaScript 闭包,避免 Node.js 应用程序中的内存泄漏
  20. 创建oracle数据表示例sql

热门文章

  1. PHP获取月末时间
  2. WPF中的Application类。
  3. QuickReport的OnNeedData的触发情况
  4. Binding的三种方式
  5. 隐藏在QRCode二维码背后的秘密
  6. 漫谈 JVM —— 内存
  7. wpf.xaml.behavior
  8. Windows程序设计画图实现哆啦A梦
  9. Android零基础入门第50节:StackView卡片堆叠
  10. Using 3D engines with Qt(可以整合到Qt里,不影响)