P1401 矩阵连乘问题

注意k的分段枚举。(区间dp真是太好玩啦

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e3+6;
struct sq{int r,c;
}s[maxn];
ll  a[maxn],dp[maxn][maxn];
int main(int argc, char const *argv[]) {int n;while (scanf("%d",&n)!=EOF) {memset(dp,0,sizeof dp);int flag=0;for(int i=0;i<n;i++){scanf("%d %d",&s[i].r,&s[i].c);}a[0]=s[0].r;for(int i=1;i<n;i++){if(s[i].r!=s[i-1].c) {flag=1;break;}a[i]=s[i].r;}a[n]=s[n-1].c;if(flag) {std::cout << "invalid argument" << '\n';continue;}for(int cnt=2;cnt<=n;cnt++){for(int i=0;i+cnt<=n;i++){int j=i+cnt;dp[i][j]=dp[i][j-1]+a[i]*a[j-1]*a[j];for(int k=i+1;k<j;k++){dp[i][j]=min(a[i]*a[k]*a[j]+dp[i][k]+dp[k][j],dp[i][j]);}}}std::cout <<dp[0][n] << '\n';}return 0;
}

P1401 矩阵连乘问题相关推荐

  1. 给定一个 n X n 的矩阵 和 R,求旋转 90 X R 度以后的矩阵

    1. 问题 [例题]循环输入,每组数据先输入一个 n(n<=10),然后 n 行 n 列数据代表一个矩阵, 每个数据为一个整数,然后再给出一个数字 R,输出这个矩阵按照顺时针旋转 90 X R ...

  2. 顺时针打印矩阵 python

    前言 题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2 ...

  3. 矩阵乘以其矩阵转置求导-数学

    20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...

  4. 矩阵的卷积核运算(一个简单小例子的讲解)深度学习

    卷积运算:假设有一个卷积核h,就一般为3*3的矩阵: 有一个待处理矩阵A: h*A的计算过程分为三步 第一步,将卷积核翻转180°,也就是成为了 第二步,将卷积核h的中心对准x的第一个元素,然后对应元 ...

  5. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

  6. LeetCode简单题之距离顺序排列矩阵单元格

    题目 给定四个整数 row , cols , rCenter 和 cCenter .有一个 rows x cols 的矩阵,你在单元格上的坐标是 (rCenter, cCenter) . 返回矩阵中的 ...

  7. LeetCode简单题之判断矩阵经轮转后是否一致

    题目 给你两个大小为 n x n 的二进制矩阵 mat 和 target .现 以 90 度顺时针轮转 矩阵 mat 中的元素 若干次 ,如果能够使 mat 与 target 一致,返回 true : ...

  8. LeetCode简单题之矩阵中的幸运数

    题目 给你一个 m * n 的矩阵,矩阵中的数字 各不相同 .请你按 任意 顺序返回矩阵中的所有幸运数. 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元素中最 ...

  9. LeetCode简单题之矩阵对角线元素的和

    题目 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和. 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和. 示例 1: 输入:mat = [[1,2,3], [4,5,6], ...

最新文章

  1. 四个常用的Java连接池
  2. python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...
  3. mysql中如何删除表中int约束,MySQL中的约束,添加约束,删除约束,以及其他修饰
  4. 自然语言处理中的Attention Model:是什么以及为什么[一]
  5. ptyhon中文本挖掘精简版
  6. 借助URLOS快速安装织梦cms
  7. 话说P2P理财纷纷暴雷之后,那些投资者的钱去了哪里?
  8. java短信验证码实现_社交APP开发短信验证是通过什么技术实现
  9. mysql 导入导出 csv_mysql文件导入导出为csv格式
  10. Java jdk下载及安装
  11. 3.PHP核心技术与最佳实践 --- PHP网络技术及应用(cURL,socket,SMTP,WebService,Cookie,Session,localStorage)
  12. redis tutorial
  13. 计算机专业的描述,计算机专业描述怎么写
  14. 直播预告 | 揭秘时序数据库极致性能背后的存储引擎
  15. 企业认证CMMI都需要那些流程?
  16. 死锁——哲学家就餐问题
  17. 有效解决jdbc连接mysql提示Access denied for user ‘‘@‘localhost‘ to database ‘mysql1‘
  18. 【原文翻译】深度残差收缩网络 Deep Residual Shrinkage Networks for Fault Diagnosis
  19. android多边形图片,android – 按多边形区域裁剪图像
  20. android新版本怎么下载安装,android 新版本下载 安装

热门文章

  1. 脚本批量执行Redis命令
  2. 如何从VirtualBox中的Ubuntu虚拟机访问主机上的文件夹
  3. 认识世界和改造世界 [马原]
  4. 微信聊天视频25M压制指南
  5. Ray Tracing in One Weekend从零实现一个简单的光线追踪渲染器
  6. 关于excel表格输入身份证的问题
  7. vue3 Echarts 绘图工具的使用
  8. 德国 DocuWare 文档管理软件平台
  9. 润乾报表 -根据登录用户控制报表展现效果(动态宏)
  10. PLSQL中 commit 和 rollback 的区别