E - Takahashi is Slime 2 (优先队列)

news/2025/1/9 10:42:11/文章来源:https://www.cnblogs.com/benscode/p/18661468

题目链接:https://atcoder.jp/contests/abc384/tasks/abc384_e

题意:

粘液能够吸收比他严格小x倍的格子,并获得这个格子的力量(同时格子被粘液填充),让你求粘液能达到的最大力量值。

思路:

优先队列priortiy_queue.
每次挑粘液上下左右四个格子入列,由于优先队列维护得到四个格子中最小的那个,所以先吸收该格子的力量值会让以后能吸收更多的格子,让结果更优
(ps:严格小x倍的格子才符合条件,不清楚为什么让 粘液力量值/x*1.0 过不了after_contest数据点,把x乘过去就可以(开__int128(约39位数)防止爆long long))

知识点:

优先队列:数组模拟的一颗完全二叉树
拿出优先级最大的元素(一般是数值最大的)
(priortiy_queue<int,vector,less>)默认大顶堆(int值越大元素优先级越高)

1.que.size()
2.que.push()
3.que.pop()
4.que.top()
5.que.empty()

变成小顶堆-priority_queue<int,vector,greater>que(需要定义类型大于号)

自定义结构类型

struct node{
int x;int y;int val;
bool operator<(const node &other)const{
//return val<other.val;(从大到小)
return val>other.val;(从小到大)
}
};
priority_queu<node>que;
#include<bits/stdc++.h>
#define int long long
using namespace std;
typedef long long ll;
const int inf=INT_MAX;
int dx[]={0,0,-1,1};
struct node{int x;int y;int val;bool operator<(const node &other)const{return val>other.val;}
};
int dy[]={1,-1,0,0};
int h,w;
int p,q;
int grid[505][505];
bool ap[505][505];
int x;
priority_queue<node>qq;
signed main()
{ios::sync_with_stdio(false),cin.tie(0);cin>>h>>w>>x;cin>>p>>q;for(int i=1;i<=h;i++){for(int j=1;j<=w;j++){cin>>grid[i][j];}}int st=grid[p][q];qq.push(node{p,q,grid[p][q]});ap[p][q]=true;int temp=0;while(!qq.empty()){node pos=qq.top();qq.pop();if((__int128)pos.val*x<st){st+=pos.val;}else{if(temp)break;}for(int i=0;i<4;i++){int nx,ny;nx=pos.x+dx[i];ny=pos.y+dy[i];if(nx>=1&&nx<=h&&ny>=1&&ny<=w&&!ap[nx][ny]){qq.push({nx,ny,grid[nx][ny]});ap[nx][ny]=true;}}temp++;}cout<<st;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866464.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南京芯麒电子-基于6U VPX的TMS320C6678+XCVU9P的高性能处理平台

概述 该平台是由16nm工艺的的XCUV9P FPGA和TI公司高性能数字信号处理器TMS320C6678构建的一款标准6U VPX高性能数据处理平台,VPX P1上定义4个x4 GTY,P2上1路PCIe x16接口、P3~P6上引出了大量GTY/GTH以及RS422/GPIO信号。板卡提供2个FMC+接口、可搭配我司各类FMC子卡使用,实现…

XTR105 XTR105UA/2K5规格书具有传感器激励和线性化的 4mA 至 20mA 电流变送器芯片

XTR105 是一款带有两个精准电流源的单片 4mA 至20mA、2 线制电流发送器。该器件在一个单集成电路上提供针对铂 RTD 温度传感器和桥、仪表放大器以及电流输出电路的完整电流激励。多用途线性化电流提供一个对 RTD 的第二阶修正,通常可以实现一个 40:1 的线性改进。仪器放大器增…

[rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(03):图像的导入、显示、调整(暨image部件的使用介绍)

前言 本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发。 iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动。 本合集是基于新版本的关于分部件(widget)的使用介绍,包括源代码介绍、实例使用等。 环境配置 系统:window10 平台:visual…

PyTorch团队为TorchAO引入1-8比特量化,提升ARM平台性能

在深度学习模型部署和优化领域,计算效率与资源消耗的平衡一直是一个核心挑战。PyTorch团队针对这一问题推出了创新性的技术方案——在其原生低精度计算库TorchAO中引入低位运算符支持。这一技术突破不仅实现了1至8位精度的嵌入层权重量化,还支持了具有8位动态量化激活的线性运…

设计团队管理的关键因素:如何确保成员高效协作

一、设计团队的组织架构 一个高效的设计团队通常有一个明确的组织架构,合理的分工与协作关系能够最大程度地提高团队的工作效率。在设计团队的组织架构中,一般包括项目经理、设计师、协调员以及可能的开发人员和客户代表。 1.1 项目经理(PM) 项目经理是设计团队的核心角色之…

欧阳的2024年终总结,迷茫,重生与失业

前言 这是欧阳第一次写年终总结,今年发生的事情还挺多的值得写篇文章记录一下。立个flag,以后每年都写一篇年终总结文章,5年后35岁再来看这些文章不知道是什么感觉。今年发生的事情可以总结为三个词语:迷茫、重生、失业。 欧阳也在找工作,坐标成都求内推! 事件 今年发生的…

JS将docx转为html代码--Vue3(简易版)

这两天突然接了一个把节气文章转成html页面的需求,本来只是需要多按几下ctrl+c,ctrl+v能解决的事,但是想想后续一年24个节气,就做个自动转换的工具吧。由于做软件还涉及到其他语言和配置环境,所以还是选择了web。 首先创建一个vue3项目,我用的vite搭建的,不会的请自行移步…

大语言模型提示技巧(八)-防止胡说八道

自然语言往往充满歧义和模糊性,模型在学习时可能会产生误解或错误理解一些概念,导致生成不准确的信息。为了尽量减少这些问题,研究人员和工程师会使用更大规模、更多样化和更准确的训练数据,调整模型架构,以及使用更先进的训练技术。但是自然语言本身就是复杂且充满挑战的…

使用API方式远程调用ollama模型

在有GPU的环境启动一个ollama大模型,非常简单:注意,ollama启动时默认监听在127.0.0.1:11434上,可以通过配置OLLAMA_HOST环境变量修改 `export OLLAMA_HOST="0.0.0.0:11434" ollama serve& ollama run qwen2.5:7b-instruct`然后就可以在远端访问: `curl http…

JMeter——压力测试工具的安装

JMetere 简介 jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。 jmeter 是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux/windows/macos 上都可以使用。 前提 已安装和…

微软开源!Office 文档轻松转 Markdown!

MarkItDown —— 微软开源的 Python 工具,能够将多种常见的文件格式(如 PDF、PowerPoint、Word、Excel、图像、音频和 HTML 等)转换为 Markdown 格式。大家好,我是 Java陈序员。 今天,给大家介绍一款微软开源的文档转 Markdown 工具。关注微信公众号:【Java陈序员】,获取…

人工智能(AI)在医学领域的应用 -九五小庞

人工智能(AI)在医学领域的应用是当前科技发展的重要方向之一,它通过提高医疗效率、准确性和个性化治疗水平,极大地改善了医疗服务的质量和患者的体验。以下是一些AI在医学领域的主要应用:辅助诊断医学影像分析:AI可以通过深度学习算法快速准确地分析CT、MRI、X光等医学影…