题解 1255: 蓝桥杯算法提高-能量项链

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

能量项链C语言

摘要:解题思路:首先读取一个整数  n  表示数组元素的个数,然后读取  n  个整数存入数组  a  中。接下来通过一个循环,每次找出当前数组中的最小元素,并计算其左右相邻元素与它的乘积,累加到变量  s……

蓝桥杯算法提高-能量项链(吕德华式算法)

解题思路:关键点就在于对于如何才能取得最大值的分析,事实上可以这样来分析:越小的数,用到的次数越多,那么整体的值就越小,所以问题就在于,如何先处理最小的值,这里我直接采用的式一位数组来解决的,算是比较笨的方法。参考代码:#includeintwoc(inta[],

能量项链-题解

解题思路:为了可以得到能量的最大值,最为简单的思路即为将最小的数字放在两数字的中间被吃掉,逐渐过滤掉最小的数字,最终得到能量总值便是最大值。以样例输入为例子:23510得到其中最小的数字为2,要将它吃掉,先通过10-2-3的组合,将2这个数字吃掉。

蓝桥杯算法提高-能量项链-题解(C语言代码)

用二维数组保存数据,例如输入23510则ip[1][]={2,3},ip[2][]={3,5},ip[3][]={5,10},ip[4][]={10,2}观察发现,把最小的值先消去所得到的和最大,也就是说对ip[n][1]进行排序,然后从最小的开始聚合,

蓝桥杯算法提高-能量项链

摘要:解题思路:注意事项:参考代码:#include <stdio.h>int main(){    int n, i, k, left, right;    int arr[200], min;    l……

蓝桥杯算法提高-能量项链-题解(Python代码)

本题的解题规律是把含有从大到小的的数字的元组消去,最后只剩下最大数字的一个元组。比如:28510生成的序列是(2,8),(8,5),(5,10),(10,2)把数字排序就是:25810结合的顺序是:①消去2结合成(10,8),能量是:10×2×8=160则序列变为(10,