news 2026/4/23 15:31:44

打卡信奥刷题(2659)用C++实现信奥题 P2846 [USACO08NOV] Light Switching G

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2659)用C++实现信奥题 P2846 [USACO08NOV] Light Switching G

P2846 [USACO08NOV] Light Switching G

题目描述

农夫约翰试图让奶牛玩智力玩具来保持它们的敏锐。谷仓里的灯是较大的玩具之一。N(2≤N≤105)N (2 \le N \le 10^5)N(2N105)个牛栏编号为1…N1 \ldots N1N,每个牛栏上面都有一盏灯。起初所有的灯都关着。

共有MMM次操作,分为两种。

  1. 指定一个区间[Si,Ei][S_i,E_i][Si,Ei],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开);
  2. 指定一个区间[Si,Ei][S_i,E_i][Si,Ei],要求你输出这个区间内有多少盏灯是打开的。

输入格式

111行: 用空格隔开的两个整数NNNMMMNNN是灯数。

2…M+12\ldots M+12M+1行: 每行表示一个操作, 有三个用空格分开的整数: 指令号,SiS_iSiEiE_iEi

若指令号为000,则表示改变[Si,Ei][S_i,E_i][Si,Ei]区间内的灯的状态(把开着的灯关上,关着的灯打开)。

若指令号为111,则表示输出[Si,Ei][S_i,E_i][Si,Ei]这个区间内有多少盏灯是打开的。

输出格式

输入输出样例 #1

输入 #1

4 5 0 1 2 0 2 4 1 2 3 0 2 4 1 1 4

输出 #1

1 2

说明/提示

数据点编号NNNMMM
1∼21\sim 212≤100\le 100100≤100\le 100100
3∼43\sim 434≤1000\le 10001000≤1000\le 10001000
5∼65\sim 656≤10000\le 1000010000≤10000\le 1000010000
7∼87\sim 878≤105\le 10^5105≤100\le 100100
9∼109\sim 10910≤100\le 100100≤105\le 10^5105
11∼1211\sim 121112≤1000\le 10001000≤105\le 10^5105
13∼1413\sim 141314≤105\le 10^5105≤1000\le 10001000
15∼1615\sim 161516≤10000\le 1000010000≤10000\le 1000010000
17∼1817\sim 181718≤10\le 1010≤105\le 10^5105
19∼2019\sim 201920≤2000\le 20002000≤106\le 10^6106

C++实现

#include<bits/stdc++.h>usingnamespacestd;intn,m,zt[100020],a,b;intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=m;i++){intpd;scanf("%d%d%d",&pd,&a,&b);if(pd==1){intans=0;for(inti=a;i<=b;i++){if(zt[i])//灯开着就计入答案{ans++;}}printf("%d\n",ans);}else{for(inti=a;i<=b;i++){if(zt[i])//如果灯开着,关上{zt[i]=0;}else//如果灯关着,打开{zt[i]=1;}}}}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

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

方言地址处理:基于MGeo镜像的领域自适应实战

方言地址处理&#xff1a;基于MGeo镜像的领域自适应实战 在处理政务系统中的地址文本时&#xff0c;我们经常会遇到一个棘手的问题&#xff1a;当地址中包含方言特征时&#xff0c;通用模型的表现往往不尽如人意。广东某政务系统就面临着这样的挑战——大量含有粤语方言特征的地…

作者头像 李华
网站建设 2026/4/23 14:18:25

如何快速部署多人人体解析?M2FP镜像免环境配置,10分钟上线

如何快速部署多人人体解析&#xff1f;M2FP镜像免环境配置&#xff0c;10分钟上线 &#x1f9e9; M2FP 多人人体解析服务 (WebUI API) 在计算机视觉领域&#xff0c;人体解析&#xff08;Human Parsing&#xff09; 是一项关键的细粒度语义分割任务&#xff0c;旨在将人体分…

作者头像 李华
网站建设 2026/4/23 13:02:12

快速验证:用AI构建TAR文件分析器原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个TAR文件分析器原型。功能包括&#xff1a;1)上传TAR文件 2)显示文件目录树 3)预览文件内容 4)统计文件大小和类型分布。使用Python Flask框架实现简易Web界面&#xf…

作者头像 李华
网站建设 2026/4/23 12:46:42

显存不足做不了人体解析?M2FP CPU优化版完美替代GPU方案

显存不足做不了人体解析&#xff1f;M2FP CPU优化版完美替代GPU方案 &#x1f4d6; 项目简介&#xff1a;M2FP 多人人体解析服务&#xff08;WebUI API&#xff09; 在当前AI视觉任务中&#xff0c;人体解析&#xff08;Human Parsing&#xff09;作为语义分割的高阶应用&…

作者头像 李华
网站建设 2026/4/18 11:32:55

3种方法快速解决Git覆盖警告,效率提升300%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个Git操作效率对比工具&#xff0c;专门针对YOUR LOCAL CHANGES错误。功能&#xff1a;1) 传统解决方法模拟(手动stash等) 2) 高效解决方案(智能合并工具) 3) 时间消耗对比 …

作者头像 李华
网站建设 2026/4/23 14:30:48

医疗多模态用SimCLR自监督稳融合

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 医疗多模态数据的自监督融合&#xff1a;SimCLR驱动的稳定融合新范式目录医疗多模态数据的自监督融合&#xff1a;SimCLR驱动的稳定融合新范式 引言&#xff1a;多模态医疗数据的困境与自监督机遇 一、医疗多模态融合的挑…

作者头像 李华