首页 > 智乃的果子
头像 钒溴
发表于 2026-02-15 02:57:29
D题 (本题参考大佬思路)由题意得,要根据果子的重量从小到大依次合并,在选择记录个数和重量时,如果用数组的话由于两堆合并时重量翻倍,数组会爆,可以用优先队列结合二元组来记录(用map也可以,建议去看大佬写的),具体思路就是一直循环,分类讨论合并,合并时整合答案并取模,当再次取出队首时,队空并且 展开全文
头像 星满天呦
发表于 2026-02-12 22:07:45
题目题意: 我们有n种种子,每种种子有c个且每种种子中每个都为w重,然后每个种子算作一堆,假设一共有m堆种子,我们的任意一次操作可以使任意两堆种子合并为一堆,直至仅剩下一堆,即执行m-1堆,且代价值=合并前两堆种子重量之和,即合并后的重量,要求计算出代价值之和的最小值。 题目知识点: 贪心、模运算、 展开全文
头像 我是无敌暴龙王
发表于 2026-02-18 19:18:07
使用优先队列,可以快速取出重量最小的果堆以使用。 本题需要从重量最小的果堆开始选取,若该重量的果堆个数为单数,则让多余的那个果堆与重量第二小的果堆合并;若该重量的果堆个数为复数,则自己内部消化。 下面是代码: #include<bits/stdc++.h> #define int lon 展开全文
头像 cslg0922242zz
发表于 2026-02-15 21:01:15
题意: 给出n组重量为,个数的果子,每一个果子为一堆,每次可以挑两个堆合在一起,合在一起的代价是这两个堆的重量之和,求全部果子合在一个堆里的最小代价。 知识点: STL,哈弗曼编码 思路: 这题我们只需要贪心思路,想要最小代价那就每次都挑最小的两个堆合并之后把新的堆放进容器里,再找两个最小的堆合并, 展开全文
头像 092325103陈鹏
发表于 2026-02-21 00:27:33
这题看数据范围,如果一个一个存入,那一定会爆掉的,所以要用优先队列来存,然后要合并的来操作,不要真的取一个一个的加,把小的先合并起来,然后放进去,如果是奇数个就把一个放回去,其他全部加到ans里面,如果c1==1,那么在取下一个看看,同样要看c1的数量和奇偶性 #include <bits/s 展开全文

等你来战

查看全部