当前位置: 首页 > news >正文

2025年中南大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年中南大学计算机考研复试机试真题

2025年中南大学计算机考研复试上机真题

历年中南大学计算机考研复试上机真题

历年中南大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

合并果子

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。 例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。

输入输出格式
输入描述:

输入包括两行,第一行是一个整数n(1<=n<=10000),表示果子的种类数。第二行包含n个整数,用空格分隔,第i个整数ai(1<=ai<=20000)是第i种果子的数目。

输出描述:

输出包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于2^31。

输入输出样例
输入样例#:
3 1 2 9
输出样例#:
15

代码一

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. priority_queue<int,vector<int>,greater<int>> q;
  5. int n;
  6. cin>>n;
  7. int a;
  8. while(n--){
  9. cin>>a;
  10. q.push(a);
  11. }
  12. int s=0;
  13. while(q.size()>1){
  14. int m1=q.top();
  15. q.pop();
  16. int m2=q.top();
  17. q.pop();
  18. s+=m1+m2;
  19. q.push(m1+m2);
  20. }
  21. cout<<s;
  22. }

代码二

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. int n;
  5. cin>>n;
  6. auto cmp=[](const int a,const int b){
  7. return a>b;
  8. };
  9. priority_queue<int,vector<int>,decltype(cmp)>pq(cmp);
  10. while(n--){
  11. int num;
  12. cin>>num;
  13. pq.push(num);
  14. }
  15. int ans=0;
  16. while(!pq.empty()){
  17. int a=pq.top();
  18. pq.pop();
  19. if(pq.empty()){
  20. break;
  21. }
  22. int b=pq.top();
  23. pq.pop();
  24. int res=a+b;
  25. ans+=res;
  26. pq.push(res);
  27. }
  28. cout<<ans;
  29. }

代码三

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. priority_queue<int,vector<int>,greater<int>> pq;
  5. int n;
  6. int sum=0;
  7. cin>>n;
  8. vector<int> m(n);
  9. for(int i=0;i<n;i++){
  10. cin>>m[i];
  11. pq.push(m[i]);
  12. }
  13. while(pq.size()!=1){
  14. int num1=pq.top();
  15. pq.pop();
  16. int num2=pq.top();
  17. pq.pop();
  18. sum=sum+num1+num2;
  19. pq.push(num1+num2);
  20. }
  21. cout<<sum;
  22. }
http://www.jsqmd.com/news/129746/

相关文章:

  • 2026技能考试机构抄作业指南!选对不踩坑,医考优先看这家 - 品牌测评鉴赏家
  • Open-AutoGLM如何在手机端高效运行?揭秘轻量化部署的3个关键技术突破
  • Dify企业级实战深度解析 (21)
  • Java毕设项目:基于Java的诊所管理系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 启点创新景区灯会旅游票务系统,景区灯会售检票管理系统,智慧景区票务管理系统推荐
  • Calendly主题钓鱼攻击机制与企业防御体系研究
  • 2025年西安交通大学计算机考研复试机试真题(附 AC 代码 + 解题思路)
  • 领跑行业!深圳这些水表工厂凭什么成为智能水务“领航者”?
  • 安捷伦/是德N4691B微波电子校准件/Agilent N4691B
  • 都说运维是条不归路,为啥从业者还这么多?运维人的副业推荐有哪些?
  • Java计算机毕设之基于Java+SpringBoot+协同过滤算法的私人诊所管理系统设计与实现基于Java的诊所管理系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 【Open-AutoGLM开源实战指南】:手把手教你快速部署与高效应用
  • 基于Microsoft Teams通知通道的回拨型钓鱼攻击机制与防御体系研究
  • 【新手必看】零基础转岗网络安全,保姆级学习路线图助你从入门到就业
  • 基于节日社会工程的Storm-0900钓鱼攻击机制与防御策略研究
  • 【课程设计/毕业设计】基于java的私人牙科诊所管理系统设计与实现基于Java的诊所管理系统设计与实现【附源码、数据库、万字文档】
  • 【计算机毕业设计案例】基于Java的诊所管理系统设计与实现患者信息管理、预约管理、药房管理(程序+文档+讲解+定制)
  • # 西南品牌服务精准选型指南:7大核心问题全解答,认准黑蚁文创
  • Java毕设项目推荐-基于SpringBoot的农产品信息溯源系统基于SpringBoot的农产品溯源系统【附源码+文档,调试定制服务】
  • 张雪峰说入行安全准没错,为啥不少网友却不买账?
  • Open-AutoGLM沉思MCP落地难题全解析,90%团队忽略的3个致命陷阱
  • 芒格的老生常谈
  • 2025年评价高的含油轴承厂家推荐及采购指南 - 品牌宣传支持者
  • 你还在手动调参?Open-AutoGLM沉思MCP自动决策引擎已悄然上线(内部资料流出)
  • 【课程设计/毕业设计】基于springboot的就业推荐系统基于Spring Boot的大学生就业推荐管理系统【附源码、数据库、万字文档】
  • 哪些编程语言可以用于国产操作系统的硬件调用
  • Kali Linux 零基础入门:网络安全转行必备渗透测试系统(常用命令全解析)
  • Centos7脚本安装docker
  • 【本地部署Open-AutoGLM终极指南】:手把手教你从零搭建高效AI推理环境
  • 2025年生物医药厂房管道安装服务商优选:技术与合规并重的优质选择 - 品牌2025