优质题解 ✔✔✔Vector19行暴力解法[C++] 1.将所有珠子的能量存储到一个Vector里2.遍历所有珠子找到能量最小的那个珠子的下标:k3.聚合并算出此次能量:(k号珠子能量)\*(k-1号珠子能量)*(k+1号珠子能量)4.累加步骤3得出的能量并移除第k号珠子5.重复2~4步骤直至只剩一颗珠子```cpp#include#include#in 题解列表 2020年12月06日 1 点赞 6 评论 2286 浏览 评分:6.9
蓝桥杯算法提高-能量项链-题解(C++代码) 摘要:解题思路: 两颗珠子合并后,结合成一颗新的珠子,而其中第一颗珠子的尾标记和第二颗珠子的头标记会消失,第一颗珠子的头标记和第二颗珠子的尾标记则会保留下来,可以再与其他珠子相乘释放能量 由此可…… 题解列表 2020年09月25日 0 点赞 0 评论 2041 浏览 评分:3.3
蓝桥杯算法提高-能量项链-题解(C++代码) 摘要:解题思路: 要得到最大值,每次聚合时把小的数消掉,这样后面聚合得到的值就会越大,如(5,3)(3,2)(2,10)(10,5)这样的一个序列其中2最小首先把2消去, 即 (3,2)和(2,10)…… 题解列表 2020年08月31日 0 点赞 2 评论 1530 浏览 评分:8.0
蓝桥杯算法提高-能量项链-题解(C++代码) 摘要:#include using namespace std; #include void Sort(int *p, int n) { for (int i = 0; i < n - 1; i…… 题解列表 2020年05月05日 0 点赞 0 评论 1208 浏览 评分:9.9
蓝桥杯算法提高-能量项链-题解(C++代码)-----× **1、参照优质题解**这题没看懂,主要是思路很不清晰。该如何求这个最大的聚合数的思路没搞明白。看了题解后,勉强理解了。但并非自己的思路,日后应该重写。```cpp#include#includeusingnamespacestd;intmain(){intN, 题解列表 2020年04月13日 0 点赞 0 评论 1119 浏览 评分:9.9
蓝桥杯算法提高-能量项链-题解(C++代码) ######可以用队列模拟删除最小元素后,将元素与前驱和后继相乘直到只剩下一个元素```cpp#include#include#includeusingnamespacestd;intmain(){intN,x,min[101];queueball;cin>>N;for(inti=0;i>x;min[ 题解列表 2020年03月26日 0 点赞 3 评论 1860 浏览 评分:9.9
蓝桥杯算法提高-能量项链-题解(C++代码)贪心思想 这一题可以用贪心来做,想象有n个数字围成一个圈,然后每次选取最小的一位数作为中间数合并,经过n-1次合并后得到的总能量即为最大值。例如425310第一次合并:10x2x5=1005310第二次合并:5x3x10=150510第三次合并:10x5x10=500答案为:750ps:代码打的太丑,不发了。 题解列表 2020年02月27日 0 点赞 0 评论 1386 浏览 评分:6.0
蓝桥杯算法提高-能量项链-题解(C++代码) 题意描述有问题,按照题意明显是按顺序合并,但是结果却是可以跳着进行。第一种第一种按题意顺序如1,2,3,4,要想结果最大,最后剩下的和开始的一定是最大的数。上面最大的是4,4两边的是1,3,结果为:4*1*2+4*2*3+4*3*4=804*3*2+4*2*1+4*1*4=48可看出4*(1*2+2* 题解列表 2020年02月23日 0 点赞 0 评论 918 浏览 评分:0.0
蓝桥杯算法提高-能量项链-题解(最简单直接得解决方案) ```cpp#include#definemaxn110usingnamespacestd;typedeflonglongll;inta[maxn];intflag1,flag2;intnum1,num2;structnode{//存头尾对inthead;inttail;}b[maxn];intmai 题解列表 2020年02月15日 0 点赞 2 评论 1193 浏览 评分:7.3
蓝桥杯算法提高-能量项链-题解(C++代码)(list) ####思路:每次删除最小的,可以尽可能保留较大元素,从而使较大元素参与更多的相乘。删除操作较多,所以采用链表list.```cpp#include#includeusingnamespacestd;intmain(){intn,sum=0;cin>>n;listball;for(inti=0;i>a 题解列表 2020年02月13日 0 点赞 0 评论 1896 浏览 评分:9.9