题目名称 | 80. 石子合并 |
---|---|
输入输出 | shizi.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 |
|
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:646, 提交:1046, 通过率:61.76% | ||||
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
本题关联比赛 | |||
暑假培训七 | |||
清明时悲哀杯 | |||
刷题ing | |||
板子大赛 |
关于 石子合并 的近10条评论(全部评论) | ||||
---|---|---|---|---|
区间DP模板题
| ||||
数据范围有坑儿
开105大小70分 115大小80分 开了一个205才100的
2021-05-25 20:01
37楼
| ||||
看这里! https://www.cnblogs.com/Tidoblogs/p/11420302.html
2019-08-27 19:30
36楼
| ||||
这一道题的数组开大一点!题目中的那个n<=100有坑!
2019-08-27 19:28
35楼
| ||||
0.016s
我骄傲 ![]()
2019-05-12 11:07
34楼
| ||||
| ||||
回复 @liu_runda :
好
2018-07-16 13:47
32楼
| ||||
回复 @思邈然 :
谢谢
2018-07-16 13:47
31楼
| ||||
回复 @NVIDIA :
好
2018-07-16 13:45
30楼
| ||||
前缀和过不了?!?!?
|
设有 $N$ 堆石子排成一排,其编号为 $1,2,3,…,N(N \leq 100)$。每堆石子有一定的重量。现要将 $N$ 堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子合并成一堆(每次合并花费的代价为当前两堆石子的总重量),这样经过 $N-1$ 次合并后成为一堆,合并的总代价为每次合并花费的代价和。找出一种合理的合并方法,使总的代价最小。
例如:有 $3$ 堆石子,重量分别为 $13,7,8$,有两种合并方案:
第一种方案:先合并 $1,2$ 号堆,合并后的这堆石子重量为 $20$,本次合并代价为 $20$,再拿该堆与第 $3$ 堆石子合并,合并后的石子重量为 $28$,本次合并代价为 $28$,将 $3$ 堆石子合并到一起的总代价为:$20+28$,即 $48$;
第二种方案:先合并 $2,3$ 号堆,合并后的这堆石子重量为 $15$,本次合并代价为 $15$,再拿该堆与第 $1$ 堆石子合并,合并后的石子重量为 $28$,本次合并代价为 $28$,将 $3$ 堆石子合并到一起的总代价为:$15+28$,即 $43$;
采用第二种方案可获得最小总代价。
输入由若干行组成,第一行有一个整数,$n(1≤n≤100)$;表示石子堆数。第 $2$ 至 $n+1$ 行是每堆石子的重量。
一个整数,表示合并的最小代价。
7 13 7 8 16 21 4 18
239
合并总代价不大于 $2.1*10^8$.
NOI 1995