刷题日记—数组—布尔数组的应用

news/2025/10/25 22:50:34/文章来源:https://www.cnblogs.com/MaoS1mple/p/19166091

前几天刷题碰到了种树,切方块类型的题目,这类题目用布尔类型判断每一个个体的状态,最后根据每个元素对应的布尔值来统计数目:如下:
1.移数问题:
image
解题步骤如下:```plaintext

include

using namespace std;
bool flag[10001];
int main(){
int l,m;
while(cin>>l>>m){
while(m--){
int x1,x2;
cin>>x1>>x2;
for(int i=x1;i<=x2;++i){
flag[i]=true;
}
}
int cnt=0;
for(int i=0;i<=l;++i){
if(!(flag[i])){
cnt++;
}
}
cout<<cnt<<endl;

}
return 0;

}

 ==这里有一个细节点:bool数组是定义在main函数外的,因为如果定义在main函数里面,会导致bool数组被随机赋值,而定义在main函数外则是全都赋初始值为0。==
2.切割方块问题
题目如图
![image](https://img2024.cnblogs.com/blog/3713817/202510/3713817-20251025223155222-2117006809.png)
解题:```plaintext
#include<iostream>
using namespace std;
bool flag[21][21][21];
int main() {int w, x, h;cin >> w >> x >> h;for (int i = 1; i <= w; ++i) {for (int j = 1; j <= x; ++j) {for (int k = 1; k <= h; ++k) {flag[i][j][k] = 1;}}}int q;cin >> q;while (q--) {int x1, x2, y1, y2, z1, z2;cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;for (int i = x1; i <= x2; ++i) {for (int j = y1; j <= y2; ++j) {for (int k = z1; k <= z2; ++k) {flag[i][j][k] = 0;}}}}int cnt = 0;for (int i = 1; i <= w; ++i) {for (int j = 1; j <= x; ++j) {for (int k = 1; k <= h; ++k) {if (flag[i][j][k] == 1) {cnt++;}}}}cout << cnt;return 0;
}

写完上面两题,我们应该就能体会到bool数组的优越性了,它可以描述某一位置的状态,避免重叠区间情况的反复取值造成的运算错误,从而实现精准计数,避免同一位置的多次取值。

在解题过程中常见的错误:1.条件运算符“==”写成了赋值运算符“=”导致WA;
2.局部变量的定义位置错误,导致每次循环都重置初始值或者无法使用定义值。

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

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

相关文章

How to Build an Agent

How to Build an Agent https://www.bilibili.com/video/BV1G2uSzqErU/?spm_id_from=333.788.videopod.sections&vd_source=57e261300f39bf692de396b55bf8c41b https://blog.langchain.com/how-to-build-an-agent…

树状数组 区间加 区间和 小记

树状数组 区间加 & 区间和 小记 考虑差分数组的变化,即 \(d_i=a_i-a_{i-1}\)。 那么区间加时,会使 \(d_l\gets d_l+val,d_{r+1}\gets d_{r+1}-val\)。 考虑求区间和,转化为求前缀的和,即求 \[\begin{aligned} …

if 语句

代码缩进为一个 tab 键,或者四个空格,建议用四个空格。 同级代码必须缩进相同空格,if 和 else 里面缩进不同没关系,比如 if 下面缩进是 4 个空格,else 下面缩进是 2 个空格,是完全没有问题的。 程序示例: weath…

深入解析:ue编辑器视口鼠标消失的问题

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:k8s中的kubelet

详细介绍:k8s中的kubeletpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

详细介绍:React Native 中的 useState、Context

详细介绍:React Native 中的 useState、Contextpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

【MySQL】Oracle与MySQL,跨库数据转储 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

昨夜雨疏风骤

热爱过分浅薄 习惯劳而不获好像把一切都搞得很糟糕。 每天都在胡思乱想胆战心惊。 我什么时候这么拘泥了? I literally want.... 心虚。空虚。 差不多得了。 把别人想的太复杂。是自己邪恶的表现。 你是一个需要专心…

明天的任务

1、找到目标即所有能想到的让自己念头不通达的问题,然后总结这些领域的”基本现实“ 2、制定相应的解决计划 3、行动,并在行动中不断修正和完善 基本现时 和计划,但是目标不能动,即不能半途而废。 一、 1、如何通过…

Windows SMB权限提升漏洞遭活跃利用

CISA警告Windows SMB权限提升漏洞正被活跃利用,微软发布带外修复补丁。俄罗斯COLDRiver组织快速更新恶意软件库,GlassWorm恶意软件使用隐形Unicode字符隐藏恶意逻辑。欧洲当局捣毁拉脱维亚大型SIM农场运营。安全漏洞…

深度神经网络 —— 使用深度自动编码器进行手写数字的去噪音

深度神经网络 —— 使用深度自动编码器进行手写数字的去噪音代码:训练后的本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏…

深度神经网络 —— 使用深度自动编码器进行手写数字的去噪音

深度神经网络 —— 使用深度自动编码器进行手写数字的去噪音代码:训练后的本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏…

江西振兴杯决赛Misc全解

江西振兴杯决赛Misc全解 题目很有意思,写不出来的话确实不应该 1 签到 2进制-16进制-base 直接toolsfx去attackflag{730b3805-f606-8faa-6e3d-768453b53b94}2容易让人想到K17CTF空间扭曲题目 不过这题需要手动扣取,并…

完整教程:Webpack5 第四节

完整教程:Webpack5 第四节pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

vlan batch { vlan-id1 [ to vlan-id2 ] } 概念及题目 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:ACWing08:高精度专题

完整教程:ACWing08:高精度专题pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

2025.10.25总结

过完软考的理论部分,接下来有题型讲解和刷题部分,看视频的话还需要10h+,除此之外还需要练整套题型,上午题和下午题都要练。

ABC429

恍惚间已经好久没写 ABC 了。 最好的一次,rk300,\(6\) 题 \(2\) 罚时。 A - Too Many Requests 模拟即可,时间复杂度为 \(O(n)\)。点击查看代码 #include <iostream> #include <cstdio> using namespac…

使用本地git命令行拉取github.com软件仓库public项目

使用本地git命令行拉取github.com软件仓库public项目2025-10-25 22:10 flyfish163 阅读(0) 评论(0) 收藏 举报1、本地机器安装git客户端 对于windows机器来说,下载一个Git exe安装即可,如Git-2.49.0-64-bit.exe …

10.25 CSP-S模拟39/2025多校冲刺CSP模拟赛8 改题记录

HZOJ 写在前面 信心场?终于踩线300pts了(虽然重测后差了点)。我竟然还有今天,场切3道。虽然有数据水的原因但是那只有T3。然后现在的状态是饿饿饿饿饿饿,不知道干啥,遂先把这个写了。《Lullaby》祝今夜好梦 기다…