LeetCode1039. Minimum Score Triangulation of Polygon——区间dp

文章目录

    • 一、题目
    • 二、题解

一、题目

You have a convex n-sided polygon where each vertex has an integer value. You are given an integer array values where values[i] is the value of the ith vertex (i.e., clockwise order).

You will triangulate the polygon into n - 2 triangles. For each triangle, the value of that triangle is the product of the values of its vertices, and the total score of the triangulation is the sum of these values over all n - 2 triangles in the triangulation.

Return the smallest possible total score that you can achieve with some triangulation of the polygon.

Example 1:

Input: values = [1,2,3]
Output: 6
Explanation: The polygon is already triangulated, and the score of the only triangle is 6.
Example 2:

Input: values = [3,7,4,5]
Output: 144
Explanation: There are two triangulations, with possible scores: 375 + 457 = 245, or 345 + 347 = 144.
The minimum score is 144.
Example 3:

Input: values = [1,3,1,4,1,5]
Output: 13
Explanation: The minimum score triangulation has score 113 + 114 + 115 + 111 = 13.

Constraints:

n == values.length
3 <= n <= 50
1 <= values[i] <= 100

二、题解

class Solution {
public:int minScoreTriangulation(vector<int>& values) {int n = values.size();vector<vector<int>> dp(n,vector<int>(n,0));for(int l = n - 3;l >= 0;l--){for(int r = l + 2;r < n;r++){dp[l][r] = INT_MAX;for(int m = l + 1;m < r;m++){dp[l][r] = min(dp[l][r],dp[l][m] + dp[m][r] + values[l] * values[m] * values[r]);}}}return dp[0][n-1];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL:索引的优化方法

索引是帮助存储引擎快速获取数据的一种数据结构&#xff0c;形象的说就是索引是数据的目录。 索引创建的时机&#xff1a; 索引并不是越多越好的&#xff0c;虽然他再查询时会提高效率&#xff0c;但是保存索引和维护索引也需要一定的空间和时间成本的。 不创建索引&#xff1a…

从一个word里面复制表格到另一个word时,表格变形的问题

复制过来保留源格式&#xff0c;检查段落、页边距里面的格式都和原始word一致后&#xff0c;仍然表格变形。 这时点页边距-自定义页边距-文档网格 看字符数是不是一致的

C/C++ 笔试(一)

以下程序的运行结果是&#xff08;&#xff09; int main(void) {printf("%s , %5.3s\n", "computer", "computer"); return 0; }A computer , puter B computer , com C computer , computer D computer , compu.ter B %m.ns 输出占m列&#…

BigDecimal比较两数大小

文章目录 关于BigDecimal 关于BigDecimal 在Java中&#xff0c;可以使用compareTo方法来比较两个BigDecimal类型的数据的大小。该方法会返回一个整数&#xff0c;表示两个数的大小关系。 如果返回值小于0&#xff0c;表示第一个数小于第二个数。 如果返回值等于0&#xff0c;表…

【Logback】Logback 中的 Appenders

目录 1、什么是 Appenders&#xff1f; 2、解说 AppenderBase.doAppend() 方法 3、logback-core 模块中的 Appenders &#xff08;1&#xff09;OutputStreamAppender &#xff08;2&#xff09;ConsoleAppender &#xff08;3&#xff09;FileAppender &#xff08;4&a…

乐观锁存在哪些问题?

乐观锁存在哪些问题&#xff1f; 文章目录 乐观锁存在哪些问题&#xff1f;ABA 问题循环时间长开销大只能保证一个共享变量的原子操作 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 ABA 问题是乐观锁最常见的问题。 ABA 问题 如果一个变量 V 初次读取的时候是 A…

SpringCloud微服务-DockerCompose(初识、安装、部署)

DockerCompose&#xff08;初识、安装、部署&#xff09; 文章目录 DockerCompose&#xff08;初识、安装、部署&#xff09;初识DockerCompose&#xff1f;DockerCompose安装DockerCompose部署微服务问题解决&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09…

final修饰符、多态、抽象类以及抽象类与接口的区别

final修饰符作用&#xff1a; 修饰变量&#xff1a;被final修饰的变量不能被重新赋值&#xff0c;即变为常量。对于基本数据类型的变量&#xff0c;其数值一旦在初始化后就不能更改&#xff1b;对于引用类型的变量&#xff0c;其引用不能更改&#xff0c;但是指向的对象内容可以…

小白跟做江科大51单片机之DS1302按键可调时钟

1.引入上一个程序的代码 2.引入Key和Timer0文件 3.获取按键值 定义全局变量unsigned char keynum main函数中 keynumKey(); 4.设置第一个按键的两种模式&#xff0c;以此来控制时钟的设定和显示 if(keynum1) { if(MODE0) { …

c++ primer学习笔记(二)

目录 第三章 一、命名空间的using声明 二、标准库的string类型 1、string对象的定义和初始化 2、string对象的读写 3、string对象的操作 4、string对象中字符的处理 三、标准库的vector类型 1、vector对象的定义和初始化 2、vector对象的操作 四、迭代器简介 1、简…

前端复选框问题-节点赋值未选中最后显示时确变成选中状态?

问题&#xff1a; 前两天一同事请教我&#xff1a;前端复选框问题-节点赋值未选中最后显示时确变成选中状态&#xff1f; 还有就是明明传过为的是false&#xff0c;在控制台上打印确变成选中状态&#xff0c;如下图&#xff1a; 以下是前端vue代码&#xff1a; <Scroll h…

CentoS迁移好帮手——银河麒麟服务器迁移运维管理平台最新介绍

•银河麒麟服务器迁移运维管理平台&#xff0c;面向大规模、集群式的服务器主机管理场景&#xff1b; •跨多种环境、高可用与分布式部署、配置管理、漏洞修复、服务包升级、CentoS迁移等多种核心运维场景解决方案&#xff1b; •CPU架构同源支持&#xff0c;兼容Intel、 海光…

Linux下下载安装JDK配置Java环境变量

Linux下下载安装JDK配置Java环境变量 1. 下载JDK 下载链接&#xff1a;(https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) 2. 上传至服务器并解压 可通过shell工具进行上传&#xff0c;我这里是上传安装在/opt目录 解压jdk-17.0.10_linux-x64_b…

C++之关联式容器set和map的使用

目录 1、set的使用​编辑 1、初始化 2、遍历 3、查找​编辑 4、插入​编辑 5、不支持修改与下标 2、map的使用 1、初始化​编辑 2、遍历 3、map的下标(重点) #include <iostream> #include <vector> #include <set> #include <map> #include…

软件开发项目管理中各角色职责介绍

项目经理&#xff1a;项目经理在项目全生命周期中扮演着核心统筹与协调者的角色&#xff0c;负责从项目的启动、规划、执行、监控直至收尾的全过程管理。具体职责包括但不限于以下几点&#xff1a; 制定项目计划&#xff1a;依据项目业务主客户需求&#xff0c;明确项目范围、时…

MySQL学习Day26——事务基础知识

一、数据库事务概述: 事务是数据库区别于文件系统的重要特性之一,事务会让数据始终保持一致性,能通过事务机制恢复到某个时间点,可以保证提交到数据库的修改不会因为系统崩溃而丢失 1.查看引擎支持事务的情况:只有InnoDB存储引擎支持事务 SHOW ENGINES; 2.基本概念: 事…

2023预测误差位平面冗余-RDHEI Based on Bit-Plane

RRBE 本文仅供学习&#xff0c;切勿转载和搬运&#xff0c;如有侵权&#xff0c;联系立删~ 一、背景知识 The Gradient-Adjusted Predictor&#xff08;GAP&#xff0c;梯度调整预测器&#xff09; 根据被预测像素周围的七个像素进行预测 具体流程可参考文献X. Wu and N. M…

selenium4的相对定位

selenium4相对定位 Selenium 4新增了相对定位器&#xff0c;能帮助用户查找元素附近的其他元素。可用的相对定位器有above、below、toLeftOf、toRightOf、near。在Selenium 4中&#xff0c;find_element方法能够接受一个新方法withTagName&#xff0c;它将返回一个RelativeLoca…

项目管理必备的五张图表,助力你高效掌控全局

在项目管理中&#xff0c;图表作为一种直观的工具&#xff0c;帮助项目经理更有效的规划、监控和控制项目的各个方面&#xff0c;以下是项目经理常用的几张图表&#xff0c;它们在项目管理中发挥着至关重要的作用。 1、甘特图 甘特图&#xff08;Gantt Chart&#xff09;是最…

C语言——oj刷题——猜数字游戏

当用C语言来实现猜数字游戏时&#xff0c;我们可以设计一个简单的游戏规则&#xff1a;计算机随机生成一个1到100之间的整数&#xff0c;玩家需要通过猜测来猜出这个数字。游戏会根据玩家猜测的数字与目标数字的大小关系给出提示&#xff0c;直到玩家猜中为止。 下面是一个用C…