Java实现 第十一届蓝桥杯——超级胶水(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)
PS:
好久没写过算法题了,总感觉自己写的思路没问题,但是结果就是不对,希望哪位大佬有时间能给找找问题
超级胶水
小明有n颗石子,按顺序摆成一排,他准备用胶水将这些石子黏在一起。
梅克什字有自己的重量,如果将两颗石子黏在一起,重量就是两个石子重量之和
为了粘贴牢固,该题认为两个石子粘连需要的胶水为两个石子的重量乘积。
每次只能合并相邻的两颗石子,并将合成的石子放在原来的位置,用最少的交水黏在一起,
请帮助小明计算最少需要多少胶水
输入:
n:石子的数量
n个整数w1,w2……wn,表示每颗石子的重量
输出:
最少的胶水数量
package 第十一届蓝桥杯;
import java.util.Scanner;
public class 超级胶水 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[1010];
int[][] temp = new int[1010][1010];
int[][] dp = new int[1010][1010];
int[][] jiaoshui = new int[1010][1010];
// int[][] jiao = new int[1010][1010];
// int[][] zong = new int[1010][1010];
for (int i=1; i<=n; i++) {
a[i] = in.nextInt();
temp[i][i] = a[i];
// jiao[i][i]=a[i];
dp[i][i]=a[i];
}
for (int i=1; i<n; i++) {
for(int j=i+1; j<=n; j++) {
temp[i][j] = temp[i][j-1] + a[j];
// jiao[i][j]=jiao[i][j-1]*a[i];
}
}
for (int r=2; r<=n; r++) {
for (int i=1; i<=n-r+1; i++) {
int j=i+r-1;
jiaoshui[i][j] = Integer.MAX_VALUE;
dp[i][j] = Integer.MAX_VALUE;
int temp1 = 0;
for (int k=i; k<j; k++) {
if(jiaoshui[i][j] > dp[i][k] * dp[k+1][j])
temp1=k;
dp[i][j] = dp[i][k] + dp[k+1][j];
jiaoshui[i][j] = dp[i][k] * dp[k+1][j];
}
jiaoshui[i][j]+=jiaoshui[i][temp1];
jiaoshui[i][j]+=jiaoshui[temp1+1][j];
// dp[i][j] += temp[i][j];
// jiaoshui[i][j]*=jiao[i][j];
}
}
// System.out.println(dp[1][n]);
System.out.println(jiaoshui[1][n]);
// System.out.println(zong[1][n]);
}
}
Java实现 第十一届蓝桥杯——超级胶水(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)的更多相关文章
- Java实现 第十一届蓝桥杯——走方格(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)
走方格 问题描述在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第1 至第 m 列,每一个点可以用行号和列号来表示. 现在有个人站在第 ...
- Java实现第十一届蓝桥杯JavaB组 省赛真题
试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中 ...
- Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
有错误的或者有问题的欢迎评论 十六进制数1949对应的十进制数 19000互质的数的个数 70044与113148的最大公约数 第十层的二叉树 洁净数 递增序列 最大的元素距离 元音字母辅音字母的数量 ...
- Java实现 第十一届 蓝桥杯 (本科组)省内模拟赛
有错误的或者有问题的欢迎评论 计算机存储中有多少字节 合法括号序列 无向连通图最少包含多少条边 字母重新排列 凯撒密码加密 反倍数 正整数的摆动序列 螺旋矩阵 小明植树 户户通电 计算机存储中有多少字 ...
- Java实现第九届蓝桥杯全球变暖
全球变暖 题目描述 你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: ....... .##.... .##.... ....##. ...
- Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
小明用积木搭了一个城堡. 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格. 当然,小明的城堡并不是平面的,而是立体的.小明 ...
- Java 第十一届 蓝桥杯 省模拟赛 梅花桩
小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1. 小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上.小 ...
- Java 第十一届 蓝桥杯 省模拟赛 元音字母辅音字母的数量
给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母. 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母. 输入格式 输入一行,包含一个单词,单词中只包含小写英文字母. 输 ...
- Java 第十一届 蓝桥杯 省模拟赛 递增序列
问题描述 在数列 a[1], a[2], -, a[n] 中,如果 a[i] < a[i+1] < a[i+2] < - < a[j],则称 a[i] 至 a[j] 为一段递增 ...
随机推荐
- 学习Redis好一阵了,我对它有了一些新的看法
前言 本篇文章不是一篇具体的教程,我打算记录一下自己对Redis的一些思考.说来惭愧,我刚接触Redis的时候只是简单地使用了一下,背了一些面试题,就在简历上写下了Redis这个技能点. 我们能在网络 ...
- 【译】构造和匹配二进制(Efficiency Guide)
可以通过以下方式有效地构建二进制: my_list_to_binary(List) -> my_list_to_binary(List, <<>>). my_list ...
- dubbo traceId透传实现日志链路追踪(基于Filter和RpcContext实现)
一.要解决什么问题: 使用elk的过程中发现如下问题: 1.无法准确定位一个请求经过了哪些服务 2.多个请求线程的日志交替打印,不利于查看按时间顺序查看一个请求的日志. 二.期望效果 能够查看一个请求 ...
- Win10下Tensorflow的安装
Win10下Tensorflow的安装 1. Tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张 ...
- redis 的简明教程
redis 结合ssm使用 一.Redis使用 1.jedis操作redis非关系型数据库 2.spring 集成redis 二.两者区别: 一.Redis使用 1.jedis操作redis非关系型数 ...
- 设计模式系列之工厂模式三兄弟(Factory Pattern)
说明:设计模式系列文章是读刘伟所著<设计模式的艺术之道(软件开发人员内功修炼之道)>一书的阅读笔记.个人感觉这本书讲的不错,有兴趣推荐读一读.详细内容也可以看看此书作者的博客https:/ ...
- docker 容器命令
语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/ST ...
- MDK未添加相应芯片的安装包
问题: No Algorithm found for: 00000000H - 00000567HErase skipped!Error: Flash Download failed - " ...
- Android学习笔记使用AlertDialog实现对话框
使用AlertDialog可以实现如下对话框 案例 布局问文件就加了几个Button,我直接上Java代码了 实现显示带取消,确定按钮的对话框按钮 Button showDialogOne = fin ...
- 06 . Jenkins分布式构建和Pipline
Pipline简介 pipline 是帮助 Jenkins 实现 CI 到 CD 转变的重要角色,是运行在 jenkins 2.X 版本的核心插件,简单来 说 Pipline 就是一套运行于 Jenk ...