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

蓝桥杯2024年第十五届省赛真题-爬山

题目链接:

思路:

策略:每次都对最高的山使用魔法

①我们用大根堆存所有山的高度,每次取根节点,就是最大值。
②当两种魔法使用次数不为0,对取出的最大山的高度 t 使用魔法, 第一种魔法将高度变成 x, 第二种魔法将高度变成 y。 对 x, y比较,谁更小就用那种魔法,该魔法使用次数-1,将新的高度添加到大根堆中。
③当第二种魔法使用次数为0,将 sqrt(t) 添加到大根堆中,第二种魔法使用次数 -1。当第一种魔法使用次数为0,将 t/ 2 添加到大根堆中,第一种魔法使用次数 -1。

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N  = 1000010;

int n, P, Q;
//大根堆
priority_queue<int, vector<int>, less<int>> q;
//答案
int ans;

signed main(){
    cin >> n >> P >> Q;
    for(int i = 1; i <= n; i++){
        int x; cin >> x;
        //从大到小排序
        q.push(x);
    }
    // //找到最小体力值
    while(P != 0 || Q != 0){
        //取出堆最大值
        auto t = q.top();
        //在堆中去掉最大值
        q.pop();
        //P Q 不为0
        if(P != 0 && Q != 0){
            int a = sqrt(t), b = t/2;
            if(a < b){
                q.push(a);
                P--;
            }
            else if(b < a){
                q.push(b);
                Q--;
            }
        }
        else if(P == 0 && Q != 0){
            q.push(t/2);
            Q--;
        }
        else if(P != 0 && Q == 0){
            q.push(sqrt(t));
            P--;
        }
    }
    

    while(q.size()){
        auto x = q.top();
        q.pop();
        ans += x;
    }
    
    cout << ans << endl;
    return 0;
}

相关文章:

  • 刺杀大使--bfs还是比dfs快+二分
  • 专题|MATLAB-R语言Logistic逻辑回归增长模型在互联网金融共生及移动通信客户流失分析实例合集
  • 基于Python Flask快速构建网络安全工具资源库的Web应用实践
  • 【简历全景认知2】电子化时代对简历形式的降维打击:从A4纸到ATS的生存游戏
  • Python高阶函数-filter
  • es 原生linux部署集群
  • JS 中html的document
  • MySQL学习笔记六
  • Python爬虫生成CSV文件的完整流程
  • 谷歌洽谈租赁英伟达AI服务器:算力争夺战再升级
  • 过剩与稀缺:现代社会的思考与启示
  • 信息系统项目管理师-第十一章-项目成本管理
  • R语言:气象水文领域的数据分析与绘图利器
  • 属性修改器 (AttributeModifier)
  • 2024年已备案大模型发展趋势分析
  • spring boot + Prometheus + Grafana 实现项目监控
  • 2️⃣ Coze创建智能体教学(2025年全新版本)
  • 探索轻量高性能的 Rust HTTP 服务器框架 —— Hyperlane
  • 内存管理及内建函数
  • AI芯片混战:GPU vs TPU vs NPU的算力与能效博弈
  • 水利部针对宁夏启动干旱防御Ⅳ级应急响应
  • 李国英:数智化建设推动大坝实现更安全运行、更精准调度
  • 林诗栋/蒯曼不敌日本组合,无缘晋级世乒赛混双四强
  • 贵州已设立省地质矿产局、省地质矿产开发院
  • 大语言模型在线辩论说服力比人类辩手高出64%
  • 王毅同德国外长瓦德富尔通电话