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

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

筛选

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

##用ArrayList的方法进行求解###本题在于要先解决掉小的能量球,因此本方法要依次找到最小的能量球先进行能量聚合,直至能量球只剩最后一个```javaimportjava.util.ArrayList;importjava.util.Scanner;publicclassMain{public

不用DP的求解方式

摘要:解题思路:看过了C+_+的题解后想出来的基于python 的方法注意事项: 只要每次把最小的消掉尽量让大的多乘就可以实现最大参考代码:# 看了c++的题解,可以每次消掉最小的那一个进行排序 n ……

dp思路_1255蓝桥杯算法提高-能量项链

摘要:dp思路;dp[i,j]表示从i到j的最大能量;将每一次的合并都简化成两步:在第k个和k+1之前断开,分别找到i->k和k+1->j的的最大能量dp[i,k], dp[k+1,j];再把这两个合并得到……

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

####思路:每次删除最小的,可以尽可能保留较大元素,从而使较大元素参与更多的相乘。删除操作较多,所以采用链表list.```cpp#include#includeusingnamespacestd;intmain(){intn,sum=0;cin>>n;listball;for(inti=0;i>a

贪心思想求解

解题思路:由题知每次融合会消去一颗珠的尾标记和后一颗的头标记,将其一串珠子的首尾标记可抽象为一个数组后,也就是融合会消去抽象化数组的一个元素,也就是消去了一颗珠的尾标记和后一颗的头标记变成一颗珠,由于问题解具有最优子结构,寻找规律后发现每次融合所消去的数字得尽可能小,

疯狂的Mars星人?(c语言轻松食用)

摘要:解题思路:1.通过计算我们可以发现输入的第一行数字N减去一就是要合并的次数即有N-1次循环              2.每个数字都要用上最少一次,例如N=4;(2,3)(3,5)(5,10)(10,……

【蓝桥杯】【python】能量项链

解题思路:最初分析题目发现,只要每次都把最小值放在中间,例如:题目中给出的数据,第一步就把2给放在中间,进行间接消除;然后再依次寻找最小值进行消除。所以首先写一个函数,用于输入最小值的位置信息后,计算得到聚合能量操作后得到的能量以及项链编号:注:我这边项链编号信息等用的是全局变量,

python-能量项链

解题思路:引用作者:https://blog.dotcpp.com/a/67057观察题目,假如相邻的两个珠子,前面的珠子头坐标为m,尾坐标为r,后一个珠子头坐标为r,尾坐标为n。合并后保留了m和n,删除了r,之后r再也不能被使用,而m和n还可以在后续的合成中继续使用。