蓝桥杯-洛谷刷题-day3(C++)
目录
1.忽略回车的字符串输入
i.getline()
ii.逐个字符的识别再输入
2.获取绝对值abs()
3.做题时的误区
4.多个变量的某一个到达判断条件
i.max()
5.[NOIP2016 提高组] 玩具谜题
i.代码
6.逻辑上的圆圈
i.有限个数n的数组
7.数组的定义
i.动态数组
1.忽略回车的字符串输入
i.getline()
借助getline()函数,通过一定的操作可以实现忽略回车的输入,
string a;
string line;
while (getline(cin, line))a += line;
cout << a << endl;
拓:在此循环中,输入ctrl + Z,getline会返回false.
ii.逐个字符的识别再输入
string a;
char tmp;
while (1) {cin >> tmp;if (终止条件,如tmp == '0') break;else a += tmp;
}
2.获取绝对值abs()
#include<cmath>
cout << abs(2-3);
3.做题时的误区
i.
当题目需要 ABC的输入,并指出输入D即为终止时,并不代表可以直接
if(ch == 'D')break;
else str += ch;
题目检测时给予的输入不只有ABCD.
ii.
函数的重复度,会影响评判。
4.多个变量的某一个到达判断条件
i.max()
如,a,b只要有一个到达21,之后就要进行别的操作,使用(max(a, b) >= 21),明显比用((a == 21) || (b == 21))要ok很多。
5.[NOIP2016 提高组] 玩具谜题
i.代码
#include <iostream>
#include <iomanip> //操纵器,个位数字,多位输出;保留n位小数输出
#include <cmath> //向上取整函数ceil
#include <string>using namespace std;//人
class Man
{
public://朝向int direction;//职称string name;void setMan(int di, string na){direction = di;name = na;}
};
//命令
class Command
{
public://左右int lefOrRi;//步数int number;void setCommand(int leR, int num){lefOrRi = leR;number = num;}
};void CheckMan(Man* man, Command* com, int n, int m)
{//man以逆时针站好,0朝里,左递减,右递增;1朝外,左递增,右递减。//左为0,右为1int p = 0;//指向当前的Manfor (int i = 0; i < m; i++){//先看命令的左右,再看圈里的朝向,p是man的下标,i是com的下标if (com[i].lefOrRi == 0){if (man[p].direction == 0){//优化的点,排除循环的冗长,一步到位p = p - com[i].number;if (p < 0)p = n + p;}else if (man[p].direction == 1){//while (com[i].number--)//p = (p + 1) % n;p = (p + com[i].number) % n;}}//命令朝右else if (com[i].lefOrRi == 1){//朝里if (man[p].direction == 0){/*while (com[i].number--){p = (p + 1) % n;}*/p = (p + com[i].number) % n;}else if (man[p].direction == 1){/*while (com[i].number--){p--;if (p < 0)p = n + p;}*/p = p - com[i].number;if (p < 0)p = n + p;}}}cout << man[p].name;
}void testlan()
{//人数n,指令数mint n = 0, m = 0;cin >> n >> m;//短暂存储方向和职业,指令左右和个数int di;string na;int leR, num;//建立人物序列,指令序列//Man man[n];常规数组定义,其大小,在编译阶段就是已知的需要动态分配内存。Man* man = new Man[n];for (int i = 0; i < n; i++){cin >> di >> na;man[i].setMan(di, na);}Command* com = new Command[m];for (int i = 0; i < m; i++){cin >> leR >> num;com[i].setCommand(leR, num);}CheckMan(man, com, n, m);
}int main()
{testlan();return 0;
}
以下6.7,总结了一些要点。
6.逻辑上的圆圈
i.有限个数n的数组
p = (p + number) % n;
//p指示数组下标
//number指示移动的步数
//通过取余,可以实现,将在储存结构上的直线前进,等效为在逻辑上的转圈。
以上是加法的(这其实是数据结构,栈与队列部分的知识点),当然就有减法的情况,
p = p - number;
if (p < 0)
p = n + p;
可优化为
p = (p - number + n) % n;
这没什么好说的。
7.数组的定义
i.动态数组
int n;
cin >> n;
int a[n];
上文代码会报错,这种常规数组定义在编译阶段就完成了创建(上文数组大小需要在运行阶段才能确定,这是矛盾的), [] 内只能是常数。
要实现上文这种,在运行后确立数组大小的形式,就是建立动态数组。
· 法一----使用vector
int n;
cin >> n;
vector<int> a(n);
· 法二----new关键字(不如法一安全)
int* a = new int[n];
delete[] a;
相关文章:

蓝桥杯-洛谷刷题-day3(C++)
目录 1.忽略回车的字符串输入 i.getline() ii.逐个字符的识别再输入 2.获取绝对值abs() 3.做题时的误区 4.多个变量的某一个到达判断条件 i.max() 5.[NOIP2016 提高组] 玩具谜题 i.代码 6.逻辑上的圆圈 i.有限个数n的数组 7.数组的定义 i.动态数组 1.忽略回车的字符串输…...
K8S资源限制之ResourceQuota
ResourceQuota介绍 在K8S中,大部分资源都可以指定到一个名称空间下,因此可以对一个名称空间的计算资源,存储资源,资源数量等维度做资源限制。 如限制pod数量、svc数量,控制器数量,限制PVC请求的存储量 注…...

释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o
在不断发展的人工智能领域,Nexusflows 推出了 Athene-V2-Agent 作为其模型系列的强大补充。这种专门的代理模型设计用于在功能调用和代理应用中发挥出色作用,突破了人工智能所能达到的极限。 竞争优势 Athene-V2-Agent 不仅仅是另一种人工智能模型&…...

MongoDB索引操作和执行计划Explain()详解
一、索引操作 说明,下面的内容举例时,以"dailyTrip"collection为例。 字段内容如下: {"_id" : ObjectId("63ec5a971ddbe429cbeeffe3"), // object id"car_type" : "Gett", // string&…...

H3C NX30Pro刷机教程-2024-11-16
H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…...

无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍
EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...

HarmonyOS ArkUI(基于ArkTS) 开发布局 (中)
HarmonyOS ArkUI(基于ArkTS) 开发布局 (上) 四 层叠布局 (Stack) 层叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过Stack容器组件实现位置的固定定位与层叠&…...
org.springframework.context.support.ApplicationListenerDetector 详细介绍
一,功能介绍 early post-processor for detecting inner beans as ApplicationListeners 早期的PostProcessor用来检测并处理内部(inner)bean作为 ApplicationListeners BeanPostProcessor that detects beans which implement the Applica…...

MSTP实验
单点故障---冗余---环路---STP----RSTP-----MSTP MSTP 产生的背景 因为RSTP在局域网内所有VLAN 共享一棵生成树,如果链路被堵塞,将无法承载任何流量,所以为了实现流量负载均衡,MSTP诞生了。 生成树不是基于VLAN运行的ÿ…...
Linux---shell脚本
文章目录 目录 文章目录 前言 一.Shell脚本定义 shell脚本书写规范 shell脚本执行方式 二.Shell变量 变量定义 定义规范 定义方式 变量的运算 数值运算 数值比较 未完待续...... 前言 希望通过本文的学习,你能够掌握Shell脚本的基本知识和实用技巧,…...

Android12的ANR解析
0. 参考: ANR分析 深入理解 Android ANR 触发原理以及信息收集过程 1.ANR的触发分类: ANR分为4类: InputDispatchTimeout:输入事件分发超时5s,包括按键和触摸事件。BroadcastTimeout:比如前台广播在10s内未执行完成࿰…...
初学人工智不理解的名词3
TTS领域的名词 from gpt-4o 在 TTS(文本到语音合成) 领域,以下是 CFM、One-Step 蒸馏 和 ReFlow 的含义和作用的详细解释: 1. CFM(Consistent Flow Matching) Consistent Flow Matching(一致流…...

ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
在传统射频结构的设计中,天线模块和有源电路部分相互分离,两者之间通过 50 Ω 传输线级联,这种设计需要在有源电路和天线之间建立无源网络,包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损…...

J.U.C - 深入解读阻塞队列实现原理源码
文章目录 Pre生产者-消费者模式阻塞队列 vs 普通队列JUC提供的7种适合与不同应用场景的阻塞队列插入操作:添加元素到队列中移除操作:从队列中移除元素。 ArrayBlockingQueue源码解析类结构指定初始容量及公平/非公平策略的构造函数根据已有集合初始化队列…...
【大语言模型学习】LORA微调方法
LORA: Low-Rank Adaptation of Large Language Models 摘要 LoRA (Low-Rank Adaptation) 提出了一种高效的语言模型适应方法,针对预训练模型的适配问题: 目标:减少下游任务所需的可训练参数,降低硬件要求。方法:冻结预训练模型权重,注入低秩分解矩阵,从而在不影响推理…...

Spring Boot【一】
Spring Boot全局配置文件 application.properties 是 Spring Boot 的标准配置文件,用于集中管理应用程序的配置属性。它的主要作用是将配置信息与代码分离,使得应用程序更具可维护性和可配置性。 Application.yaml配置文件 YAML文件格式是JSON超集文件…...

H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因
EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...

【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
1. rowkey的设计 RowKey可以是任意字符串,最大长度64KB,实际应用中一般为10~100bytes,字典顺序排序,rowkey的设计至关重要,会影响region分布,如果rowkey设计不合理还会出现region写热点等一系列问题。 …...
Dart:字符串
字符串:单双引号 String c hello \c\; // hello c,单引号中使用单引号,需要转义\ String d "hello c"; // hello c,双引号中使用单引号,不需要转义 String e "hello \“c\”"; // hell…...

平衡二叉搜索树之 红黑 树的模拟实现【C++】
文章目录 红黑树的简单介绍定义红黑树的特性红黑树的应用 全部的实现代码放在了文章末尾准备工作包含头文件类的成员变量和红黑树节点的定义 构造函数和拷贝构造swap和赋值运算符重载析构函数findinsert【重要】第一步:按照二叉搜索树的方式插入新节点第二步&#x…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...