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

acwing_5722_十滴水

acwing_5722_十滴水

下面这篇大佬的题解属实是把指针用明白了,可以好好理解一下:

原题解连接:AcWing 5722. 一个简单模拟实现 - AcWing

map/unordered_map的用法:见收藏夹

#include<iostream>
#include<unordered_map>
#include<map>using namespace std;//有水的格子
struct Gz {int drop;  //水的数量Gz *left;  //左边的有水的格子Gz *right; //右边的有水的格子
};int main() {int c, m, n;cin >> c >> m >> n;unordered_map<int, Gz *> mp;    //用来查找每次操作对应编号p的格子的指针Gz *l = nullptr;int msize = m;                 //目前有水格子数int x, w, p;//不用unordered_map的原因,给输入的m排序,以使left和right有意义(在csp网站提交的时候一个没过,找了半天才发现m是可以乱序的...)map<int, int> mmp;//为什么这里不用数组呢?//我的看法是有水的格子相对于所有的格子来说很少,如果将所有的格子都遍历一遍,那么时间复杂度将是不可接受的。for (int i = 0; i < m; ++i) {cin >> x >> w;mmp[x] = w;}//对着输入存信息for (auto i = mmp.begin(); i != mmp.end(); ++i) {if (i == mmp.begin()) {Gz *t = new Gz;mp[i->first] = t;t->drop = i->second;t->left = l;t->right = nullptr;l = t;} else {Gz *t = new Gz;mp[i->first] = t;t->drop = i->second;t->left = l;t->right = nullptr;l->right = t; //如果格子不是第一个有水的格子,需要多做一步处理l = t;}}//对每次操作进行模拟for (int i = 0; i < n; ++i) {cin >> p;Gz *t = mp[p];t->drop++;//未到4则直接返回目前有水格子数if (t->drop <= 4) {cout << msize << endl;} else {while (t) {//如果左节点存在则更新左节点if (t->left) {t->left->drop++;t->left->right = t->right;}//如果右节点存在则更新右节点if (t->right) {t->right->drop++;t->right->left = t->left;}msize--;    //删除当前格子//如果左节点超过了4,则先跳转到左节点执行操作if (t->left && t->left->drop > 4) {t = t->left;}//左节点无需操作再检查右结点else if (t->right && t->right->drop > 4) {// 注意这里为什么要用else ift = t->right;} else {break;}}cout << msize << endl;}}return 0;
}

image-20241205192456444

这份答案只能过8/11,看来还需要完善~

相关文章:

acwing_5722_十滴水

acwing_5722_十滴水 下面这篇大佬的题解属实是把指针用明白了&#xff0c;可以好好理解一下&#xff1a; 原题解连接&#xff1a;AcWing 5722. 一个简单模拟实现 - AcWing map/unordered_map的用法:见收藏夹 #include<iostream> #include<unordered_map> #incl…...

acwing-3194 最大的矩形

acwing-3194 最大的矩形 这个题程序设计课上有讲过&#xff0c; 平民算法&#xff0c;时间复杂度在 O ( n 2 ) O(n^2) O(n2) // // Created by HUAWEI on 2024/10/28. // #include<iostream>using namespace std;const int Max_size 1e4 20;int N; int h[Max_size];…...

UnityDemo-TheBrave-制作笔记

这是我跟着b站up主MStudio的视频学习制作的&#xff0c;大体上没有去做一些更新的东西&#xff0c;这里只是一个总的总结。在文章的最后&#xff0c;我会放上可以游玩该游戏的链接和exe可执行文件&#xff0c;不过没有对游戏内容进行什么加工&#xff0c;只有基本的功能实现罢了…...

玩转 JMeter:Random Order Controller让测试“乱”出花样

嘿&#xff0c;各位性能测试的小伙伴们&#xff01;今天咱要来唠唠 JMeter 里超级有趣又超实用的 Random Order Controller&#xff08;随机顺序控制器&#xff09;&#xff0c;它就像是性能测试这场大戏里的“魔术棒”&#xff0c;轻轻一挥&#xff0c;就能让测试场景变得千变…...

VTK知识学习(33)-交互问题2

1、前言 主要是针对前面有过实现不了交互的情况进行说明&#xff0c;经过一些尝试和分析调用API&#xff0c;总算实现RenderWindowControl函数回调正常串接&#xff0c;当然这个移动处理事件的效果目前也没有确认。 2、使用 vtkImageReslice reslice vtkImageReslice.New();p…...

Centos9-SSH免密登录配置-修改22端口-关闭密码登录-提高安全性

Centos9-SSH免密登录配置-修改22端口-关闭密码登录 生成秘钥对将公钥信息存进authorized_keys测试登录查询访问记录、比对指纹更换22访问端口关闭账号密码登录生成秘钥对 生成密钥对,指定 备注 和 文件目录命令执行后,默认两次回车,不设置秘钥使用密码ssh-keygen -t rsa -b …...

SqlServer: An expression services limit has been reached异常处理

在工作中遇到一个问题&#xff0c;因为项目很老&#xff0c;代码很不规范&#xff0c;出现一种场景&#xff1a; 查询所有客户(5w条以上)&#xff0c;然后根据客户Id&#xff0c;再去其他表查询&#xff0c;代码中是直接将customerId拼接到sql中去查询&#xff0c;形成的sql如…...

CentOS下安装Docker

Docker 必须要在Linux环境下才能运行&#xff0c;windows下运行也是安装虚拟机后才能下载安装运行&#xff0c;菜鸟教程 下载安装 linux 依次执行下边步骤 更新 yum yum update 卸载旧的Docker yum remove docker docker-client docker-client-latest docker-common doc…...

WPF控件Grid的布局和C1FlexGrid的多选应用

使用 Grid.Column和Grid.Row布局&#xff0c;将多个C1FlexGrid布局其中&#xff0c;使用各种事件来达到所需效果&#xff0c;点击复选框可以加载数据到列表&#xff0c;移除列表的数据&#xff0c;自动取消复选框等 移除复选框的要注意&#xff01;&#xff01;&#xff01;&am…...

Jenkins-持续集成、交付、构建、部署、测试

Jenkins-持续集成、交付、构建、部署、测试 一: Jenkins 介绍1> Jenkins 概念2> Jenkins 目的3> Jenkins 特性4> Jenkins 作用 二&#xff1a;Jenkins 版本三&#xff1a;DevOps流程简述1> 持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff0…...

高级第一次作业

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容&#xff0c;不存在则创建一个文件将创建时间写入。 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 3、编写个shel 脚本将/usr/local 日录下大于10M的文件转移到…...

Copula算法原理和R语言股市收益率相依性可视化分析

阅读全文&#xff1a;http://tecdat.cn/?p6193 copula是将多变量分布函数与其边缘分布函数耦合的函数&#xff0c;通常称为边缘。在本视频中&#xff0c;我们通过可视化的方式直观地介绍了Copula函数&#xff0c;并通过R软件应用于金融时间序列数据来理解它&#xff08;点击文…...

反弹SHELL不回显带外正反向连接防火墙出入站文件下载

什么是反弹shell 正向连接正向连接&#xff08;Forward Connection&#xff09;&#xff1a;正向连接是一种常见的网络通信模式&#xff0c;其中客户端主动发起连接到服务器或目标系统。正向连接通常用于客户端-服务器通信&#xff0c;客户端主动请求服务或资源&#xff0c;例如…...

后盾人JS--JS值类型使用

章节介绍与类型判断 看看构造函数 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</t…...

1月11日

[WUSTCTF2020]CV Maker 可以看到有个注册页面&#xff0c;尝试注册一个用户登进去看看 进来后第一眼就看到文件上传&#xff0c;尝试上传&#xff0c;上传php后返回了 文件上传后端检测exif_imagetype()函数 他提示不是image&#xff0c;也就是需要我们构造一个文件头为图像类…...

【深度学习】Pytorch:加载自定义数据集

本教程将使用 flower_photos 数据集演示如何在 PyTorch 中加载和导入自定义数据集。该数据集包含不同花种的图像&#xff0c;每种花的图像存储在以花名命名的子文件夹中。我们将深入讲解每个函数和对象的使用方法&#xff0c;使读者能够推广应用到其他数据集任务中。 flower_ph…...

最近在盘gitlab.0.先review了一下docker

# 正文 本猿所在产品的代码是保存到了一个本地gitlab实例上&#xff0c;实例是别的同事搭建的。最近又又又想了解一下&#xff0c;而且已经盘了一些了&#xff0c;所以写写记录一下。因为这个事儿没太多的进度压力&#xff0c;索性写到哪儿算哪儿&#xff0c;只要是新了解到的…...

OA项目登录

导入依赖,下面的依赖是在这次OA登录中用到的 <!--web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.sprin…...

verilogHDL仿真详解

前言 Verilog HDL中提供了丰富的系统任务和系统函数&#xff0c;用于对仿真环境、文件操作、时间控制等进行操作。&#xff08;后续会进行补充&#xff09; 正文 一、verilogHDL仿真详解 timescale 1ns/1ps //时间单位为1ns&#xff0c;精度为1ps&#xff0c; //编译…...

基于http协议的天气爬虫

该系统将基于目前比较流行的网络爬虫技术&#xff0c; 对网站上的天气数据进行查询分析&#xff0c; 最终使客户能够通过简单的操作&#xff0c; 快速&#xff0c; 准确的获取目标天气数据。主要包括两部分的功能&#xff0c; 第一部分是天气数据查询&#xff0c; 包括时间段数…...

Pixel Aurora Engine基础教程:Streamlit状态管理与多会话隔离机制

Pixel Aurora Engine基础教程&#xff1a;Streamlit状态管理与多会话隔离机制 1. 认识Pixel Aurora Engine Pixel Aurora是一款基于AI扩散模型的高端绘图工作站&#xff0c;采用独特的复古像素游戏风格界面。这款"虚拟游戏机"能将文字描述转化为极具视觉冲击力的像…...

TCA9548A I²C多路复用器原理与嵌入式实战指南

1. TCA9548A IC多路复用器技术解析与嵌入式系统集成实践 1.1 器件定位与工程价值 TCA9548A是德州仪器&#xff08;TI&#xff09;推出的低电压8通道IC总线开关&#xff0c;其核心价值在于解决嵌入式系统中IC总线地址冲突这一经典工程难题。在STM32、ESP32、Raspberry Pi等主流…...

AutoDL上传大文件夹实操教程|避坑指南(解决中文路径、端口报错等高频问题)

前言&#xff1a;做深度学习、大模型部署的同学&#xff0c;大概率会用到AutoDL云GPU&#xff08;性价比高、配置灵活&#xff0c;尤其适合毕设、小项目实操&#xff09;。但很多新手在上传本地大文件夹&#xff08;比如包含模型脚本、数据集、配置文件的项目文件夹&#xff09…...

揭秘冷轧精密带钢DC03-C340:3大核心特性如何赋能精密制造?

朋友们&#xff0c;今天咱们不聊虚的&#xff0c;就聊聊工厂车间里最实在的东西——材料。你是不是也遇到过这样的烦心事&#xff1a;花大价钱买回来的钢带&#xff0c;一上冲床就开裂&#xff0c;废品率居高不下&#xff1b;或者热处理后表面出现诡异的蓝线&#xff0c;抛光怎…...

突破平台壁垒:探索5种在Windows运行Android应用的实战方案与终极选择

突破平台壁垒&#xff1a;探索5种在Windows运行Android应用的实战方案与终极选择 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化办公与娱乐深度融合的今天&am…...

4步攻克Fiji在macOS系统的启动难题:从诊断到长效维护的全方位解决方案

4步攻克Fiji在macOS系统的启动难题&#xff1a;从诊断到长效维护的全方位解决方案 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji 问题定位&#xff1a;精准识别Fiji启动…...

智谱CEO张鹏:将推理性能压榨至极限 不为短期盈利,而是为高质量Token消耗指数曲线

雷递网 乐天 3月31日智谱CEO张鹏今日在智谱2025年年报沟通会上表示&#xff0c;智谱曾经历过质疑&#xff0c;经历过挫折&#xff0c;但无数事实反复验证了一个判断——智能上界的提升&#xff0c;是大模型AGI时代唯一的"第一性"。张鹏说&#xff0c;AGI时代的商业价…...

算法部署设计,Sm3国密算法的硬件ip设计,纯v手写代码,图一为ip接口,图二为资源消耗

算法部署设计&#xff0c;Sm3国密算法的硬件ip设计&#xff0c;纯v手写代码&#xff0c;图一为ip接口&#xff0c;图二为资源消耗&#xff0c;图三四为封装为axilite接口并在开发版下板测试&#xff0c;图五为开发版实测结果 直接联系内容包括:sm3的软件python实现代码&#xf…...

Qwen3.5-9B企业落地:制造业BOM表识别+物料替代方案生成实战

Qwen3.5-9B企业落地&#xff1a;制造业BOM表识别物料替代方案生成实战 1. 项目背景与价值 在制造业生产过程中&#xff0c;物料清单(BOM)管理和物料替代是常见的痛点问题。传统方式需要人工核对大量表格数据&#xff0c;效率低下且容易出错。Qwen3.5-9B作为90亿参数的开源大语…...

用Simulink+Carsim复现论文:四轮转向后轮控制5种算法对比(附模型下载)

用SimulinkCarsim复现论文&#xff1a;四轮转向后轮控制5种算法对比&#xff08;附模型下载&#xff09; 在车辆动力学与控制领域&#xff0c;四轮转向技术正逐渐从豪华车型向主流市场渗透。不同于传统的前轮转向系统&#xff0c;四轮转向通过后轮主动参与转向&#xff0c;显著…...