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

蓝桥ACM培训-实战1

前言:

  今天老师没讲课,只让我们做了一下几道题目。

正文:

Problem:A 小蓝与操作序列:

#include<bits/stdc++.h>
using namespace std;
stack<int> a;
int main(){int n,flag=1,ans;string cz;cin>>n;for(int i=1;i<=n;i++){cin>>cz;if(cz=="push"){a.push(1);}if(cz=="pop"){if(a.empty()){ans=i;flag=0;break;}else a.pop();}if(cz=="top"){if(a.empty()){ans=i;flag=0;break;}}if(cz=="clear"){while(!a.empty())a.pop();}}if(flag){cout<<"Yes"<<endl;cout<<a.size()<<endl;}else{cout<<"No"<<endl;cout<<ans<<endl;}return 0;
}

自己开一个stack模拟即可,注意c++的stack是没有clear操作的,让他循环弹出即可。

Problem:B 小兰与角谷猜想:

#include<bits/stdc++.h>
using namespace std;
int cnt;
long long jg(long long x){cnt=0;while(x>1){if(x%2==0)x/=2;else x=x*3+1;cnt++;}return cnt;
}
int main(){long long l,r,ans=0,step=0;cin>>l>>r;for(long long i=l;i<=r;i++){if(step<jg(i))ans=i;step=max(step,jg(i));}cout<<ans<<endl;
}

数据范围不大,直接暴力找(注意答案要用longlong)。

Problem:C 小兰与名氏距离:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int x[100009],y[100009];
int main(){ll n,ans=0;cin>>n;for(int i=1;i<=n;i++){cin>>x[i]>>y[i];}sort(x+1,x+1+n);sort(y+1,y+1+n);for(int i=1;i<=n;i++){ll cnt=1,fi=i;while(x[++i]==x[fi])cnt++;i--;ans+=(cnt*(cnt-1))/2;}for(int i=1;i<=n;i++){ll cnt=1,fi=i;while(y[++i]==y[fi])cnt++;i--;ans+=(cnt*(cnt-1))/2;}cout<<ans<<endl;
}

满足条件的两个点一定有x或y相等,我们将x,y分开考虑,对于每a个相同的x和y,一定有a*(a-1)/2个点对满足条件,总加和即可。

Problem:D 小兰与线段:

#include <bits/stdc++.h>
using namespace std;
int mp[1009][1009],dp[1009][1009][2],n,m,cnt,ans=0;
int main(){cin>>n>>m;for(int i=1;i<=n;i++)for(int o=1;o<=m;o++)cin>>mp[i][o];for(int i=1;i<=n;i++){for(int o=1;o<=m;o++){cnt=1;if(dp[i][o][0]==0){dp[i][o][0]=1;for(int p=o+1;p<=m;p++){if(mp[i][p]==mp[i][o]){cnt++;dp[i][p][0]=1;ans=max(cnt,ans);}else break;}}cnt=1;if(dp[i][o][1]==0){dp[i][o][1]=1;for(int p=i+1;p<=n;p++){if(mp[p][o]==mp[i][o]){cnt++;dp[p][o][1]=1;ans=max(cnt,ans);}else break;}}//cout<<dp[i][o][1]<<" ";}//cout<<endl;}cout<<ans<<endl;
}

一开始想用dfs,这道题好像用dfs有点麻烦,我自己刚好前不久了解了一点动态规划,写这题时灵感暴发,于是就尝试了一下,没想到竟然可行,这题好像暴力也能过。在这里讲讲我的思路吧,我们将每个点都设置好两个状态,分别是已扫过本行和已扫过本列,我们从第一行第一列开始遍历,先检验他的状态看看有没有被扫过(行列都要)。如果有就跳过,没有就更新状态后向下一行或列的点继续操作,这样就可以排除已考虑的点,直到遍历到末尾,最后输出答案。

Problem:E 小兰与子数组:

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,a[100000];scanf("%d",&n);for(int i=0;i<n;i++) scanf("%d",&a[i]);sort(a,a+n);cout<<a[n-1]-a[0]<<" "<<max(a[n-2]-a[0],a[n-1]-a[1]);return 0;
}

排序后直接输出最大值减最小值与子序列最大值减最小值。

后记:

  开学前最后一次训练,不知道之后的训练在什么时候。

相关文章:

蓝桥ACM培训-实战1

前言&#xff1a; 今天老师没讲课&#xff0c;只让我们做了一下几道题目。 正文&#xff1a; Problem:A 小蓝与操作序列&#xff1a; #include<bits/stdc.h> using namespace std; stack<int> a; int main(){int n,flag1,ans;string cz;cin>>n;for(int i1;…...

波动数列(蓝桥杯)

问题描述&#xff1a; 观察如下数列&#xff1a; 1 3 0 2 -1 1 -2 … 这个数列中后一项总是比前一项增加 2 或者减少 3。 栋栋对这种数列很好奇&#xff0c;他想知道长度为 n nn 和为 s ss 而且后一项总是比前一项增加 a aa 或者减少 b bb 的整数数列可能有多少种呢&#xff1f…...

第二篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas金融数据分析

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas 在金融数据分析中的常见用途和功能介绍二、金融数据清洗和准备示例代码三、金融数据索引和选择示例代码四、金融数据时间序列分析示例代码五、金融数据可视化示例代码六、金融数…...

Flink:Temporal Table Function(时态表函数)和 Temporal Join

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…...

Go语言中的时间控制:定时器技术详细指南

Go语言中的时间控制&#xff1a;定时器技术详细指南 引言定时器基础创建和使用time.Timer使用time.Ticker实现周期性任务定时器的内部机制小结 使用time.Timer实现简单的定时任务创建和启动定时器停止和重置定时器定时器的实际应用小结 利用time.Ticker处理重复的定时任务创建和…...

面试笔记系列六之redis+kafka+zookeeper基础知识点整理及常见面试题

目录 Redis redis持久化机制&#xff1a;RDB和AOF Redis 持久化 RDB的优点 RDB的缺点 AOF 优点 AOF 缺点 4.X版本的整合策略 Redis做分布式锁用什么命令&#xff1f; Redis做分布式锁死锁有哪些情况&#xff0c;如何解决&#xff1f; Redis如何做分布式锁&#xff1f…...

Golang动态高效JSON解析技巧

JSON如今广泛用于配置和通信协议&#xff0c;但由于其定义的灵活性&#xff0c;很容易传递错误数据。本文介绍了如何使用mapstructure工具实现动态灵活的JSON数据解析&#xff0c;在牺牲一定性能的前提下&#xff0c;有效提升开发效率和容错能力。原文: Efficient JSON Data Ha…...

双重检验锁

双重检验锁&#xff1a;设计模式中的单例模式&#xff0c;细分为单例模式中的懒加载模式。 单例模式 单例模式&#xff1a;指的是一个类只有一个对象。最简单的实现方式是设一个枚举类&#xff0c;只有一个对象。缺点是当对象还没有被使用时&#xff0c;对象就已经创建存在了…...

【RISC-V 指令集】RISC-V DSP 扩展指令集介绍(一)

前言&#xff1a; 本笔记是基于对RISC-V DSP扩展指令集文档总结的&#xff0c;《P-ext-proposal.pdf》文档的关键内容如下&#xff1a; 主要介绍了RISC-V的P扩展指令集及其相关细节。 首先&#xff0c;对P扩展指令进行了概述&#xff0c;并列出了其与其他扩展重复的指令。 …...

RocketMQ - CentOS 7.x 安装单机版并测试

【安装前环境准备】检查是否安装好JDK(必要)&#xff1a;java -version查看CPU信息&#xff1a; # cat /proc/cpuinfo # lscpu # getconf _NPROCESSORS_ONLN # cat /sys/devices/system/cpu/online # cat /proc/interrupts | egrep -i cpu查看内存信息&#xff1a; # free -hm …...

[JavaWeb玩耍日记]HTML+CSS+JS快速使用

目录 一.标签 二.指定css 三.css选择器 四.超链接 五.视频与排版 六.布局测试 七.布局居中 八.表格 九.表单 十.表单项 十一.JS引入与输出 十二.JS变量&#xff0c;循环&#xff0c;函数 十三.Array与字符串方法 十四.自定义对象与JSON 十五.BOM对象 十六.获取…...

如何使用ArcGIS Pro创建最低成本路径

虽然两点之间直线最短&#xff0c;但是在实际运用中&#xff0c;还需要考虑地形、植被和土地利用类型等多种因素&#xff0c;需要加权计算最低成本路径&#xff0c;这里为大家介绍一下计算方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…...

Neoverse CSS N3:实现市场领先能效的最快途径

区分老的架构 从云到边缘&#xff0c;Arm Neoverse 提供无与伦比的性能、效率、设计灵活性和 TCO 优势&#xff0c;正在颠覆传统基础设施芯片。 我们看到云和超大规模服务运营商正在推动更高的计算密度。随着 128 核心 CPU 设计上市&#xff08;Microsoft Cobalt、阿里巴巴 Y…...

JavaScript实现的计时器效果

之前做过电商网站倒计时的效果&#xff0c;今天在倒计时的基础上&#xff0c;把代码修改了一下&#xff0c;改为计时器效果&#xff0c;实现了以下功能&#xff1a; 1.点击“开始”后&#xff0c;按秒计时且“开始”文字变为“停止”&#xff1b; 2.点击“停止”&#xff0c;计…...

仿函数(Functor(c++))

定义 仿函数&#xff08;Functor&#xff09;是一个可以像函数那样被调用的类对象。这意味着它实现了operator()&#xff0c;使得类的对象可以像函数那样被调用。 仿函数的主要特点 它是一个类。它重载了operator()。可以通过创建该类的对象&#xff0c;并像函数那样调用该对…...

智能汽车加速车规级存储应用DS2431P+TR 汽车级EEPROM 存储器IC

DS2431PT&R是一款1024位1-Wire EEPROM芯片&#xff0c;由四页存储区组成&#xff0c;每页256位。数据先被写入一个8字节暂存器中&#xff0c;经校验后复制到EEPROM存储器。该器件的特点是&#xff0c;四页存储区相互独立&#xff0c;可以单独进行写保护或进入EPROM仿真模式…...

js json转换成字符串

js中JSON数据转换成字符串&#xff0c;可以使用JSON.stringify()方法。 var obj {name: "张三", age: 18, gender: "男"}; var jsonString JSON.stringify(obj); console.log(jsonString); // 输出 {"name":"张三","age"…...

Linux笔记--基本操作指令

一、查看日期与日历 1.date指令 显示日期 #用法1:dateCST: China Standard Time时区&#xff0c;中国标准时间 #用法2: date 指定格式 [常用格式]: "%Y-%m-%d"(%F): 2022-07-25 "%H:%M:%S"(%T): 14:53:44 "%F %T" #用法3: date -d "-1 da…...

论文阅读:基于超像素的图卷积语义分割(图结构数据)

#Superpixel-based Graph Convolutional Network for Semantic Segmentation github链接 引言 GNN模型根据节点特征周围的边来训练节点特征&#xff0c;并获得最终的节点嵌入。通过利用具有不同滤波核的二维卷积对来自附近节点的信息进行整合&#xff0c;给定超像素方法生成的…...

记录踩过的坑-macOS下使用VS Code

目录 切换主题 安装插件 搭建Python开发环境 装Python插件 配置解释器 打开项目 打开终端 切换主题 安装插件 方法1 方法2 搭建Python开发环境 装Python插件 配置解释器 假设解释器已经通过Anaconda建好&#xff0c;只需要在VS Code中关联。 打开项目 打开终端...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...