news 2026/9/2 23:02:16

C++课后习题训练记录Day61

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++课后习题训练记录Day61

1.练习项目:

问题描述

小明得到了一个长度为 n 的字符串 s ,该字符串都是由数字 0 和 1 组成,并且下标从 1 开始,小明现在需要对这个字符串进行 q 次操作,每次操作包含以下两种操作之一:

  • 操作 1 :小明查询该字符串中第一次出现 1 的位置,并将其输出,如果字符串中不存在 1 则输出 −1

  • 操作 2 :小明选择一个下标,将字符串 s 中对应该下标的值反转,即 1 变为 0 ,0 变为 1 。

小明想在短时间内快速计算出每次操作二的值,你能帮帮他吗。

输入格式

第一行,包含两个正整数 n,q (1≤n,q≤2×1e5),分别代表字符串长度和操作次数。

第二行,一个字符串 s (1≤∣s∣≤n) ,代表输入的字符串。

接下来 q 行,每行输入格式为一下之一:

  • 1,代表小明要查询该字符串中第一次出现 1 的位置,并将其输出。
  • 2 x,代表将字符串中下标为 x 的字符反转。

输出格式

对于每个操作 1 ,小明都会输出一行,包含一个正整数,代表该字符串中第一次出现 1 的位置,如果字符串中不存在 1 则输出 −1

2.选择课程

在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班(C&C++ 组)4期》,选择第STL”编程10并开始练习。

3.开始练习

(1)源码:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
char s[N];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,q;
cin>>n>>q;
cin>>s+1;
while(q--){
char type;
cin>>type;
if(type=='1'){
for(int i=1;i<=n;i++){
if(s[i]=='1'){
cout<<i<<'\n';
break;
}else if(s[i]=='0'){
continue;
}else{
cout<<-1;
}
}
}else{
int temp;
cin>>temp;
if(s[temp]=='1'){
s[temp]='0';
}else{
s[temp]='1';
}
}
}
return 0;
}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:03:40

Qwen3-VL分析Qwen3-VL-Quick-Start项目README文件

Qwen3-VL 技术解析与快速部署实践 在今天这个视觉信息爆炸的时代&#xff0c;AI 系统能否“看懂”一张图、一段视频&#xff0c;甚至一个复杂的用户界面&#xff0c;已经成为衡量其智能水平的关键标尺。传统语言模型面对图像时往往束手无策&#xff0c;而早期的多模态方案又常常…

作者头像 李华
网站建设 2026/9/2 21:03:56

搞懂malloc底层原理后,我用C++17 PMR写了一个5倍性能的分配器

malloc到底是怎么工作的? 不是那种"调用sbrk向系统申请内存"的泛泛而谈。我说的是真正的底层细节:chunk是怎么组织的?free之后内存去哪了?为什么有时候malloc很快,有时候又慢得离谱? 这些问题,只有啃过glibc malloc源码、自己动手实现过一遍,才能真正搞明白…

作者头像 李华
网站建设 2026/9/2 21:57:27

Qwen3-VL提取UltraISO注册码信息(教学场景展示)

Qwen3-VL提取UltraISO注册码信息&#xff08;教学场景展示&#xff09; 在日常软件使用中&#xff0c;我们常会遇到需要从一张截图里“读出”注册码的场景——比如帮助同事找回丢失的激活密钥、分析老旧系统的授权界面&#xff0c;或是教学环境中演示AI如何理解图形用户界面。这…

作者头像 李华
网站建设 2026/9/2 21:03:57

Sonic在短视频创作领域的三大典型应用场景

Sonic在短视频创作中的场景化实践与技术落地路径 你有没有想过&#xff0c;一个数字人主播可以24小时不间断地讲解产品、授课教学&#xff0c;甚至用不同语言向全球观众直播&#xff1f;这不再是科幻电影的桥段——随着AI生成技术的成熟&#xff0c;这样的场景正在真实发生。而…

作者头像 李华
网站建设 2026/9/2 21:57:57

rs485modbus协议源代码驱动开发:手把手教程(从零实现)

从零实现 RS485 Modbus RTU 驱动&#xff1a;手把手教你写一套能跑的源代码为什么我们要自己写 Modbus 驱动&#xff1f;在工业现场&#xff0c;你可能已经用过无数遍 Modbus 协议——读电表、控变频器、接温湿度传感器。但当你面对一个裸片 STM32 或者 ESP32&#xff0c;没有现…

作者头像 李华
网站建设 2026/9/2 19:50:17

儿童早教产品融合Sonic技术,增强互动趣味性

儿童早教产品融合Sonic技术&#xff0c;增强互动趣味性 在儿童教育领域&#xff0c;一个看似简单却长期困扰开发者的问题是&#xff1a;如何让学习内容“活”起来&#xff1f;传统的图文课件和预录视频虽然稳定可靠&#xff0c;但缺乏动态反馈与情感连接&#xff0c;难以持续吸…

作者头像 李华