news 2026/4/3 5:00:12

打卡信奥刷题(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/2 5:53:21

校园安全应用:学生请假条地址智能核验

校园安全应用&#xff1a;学生请假条地址智能核验实战指南 在高校学生管理工作中&#xff0c;辅导员经常面临一个棘手问题&#xff1a;部分学生提交的请假条中填写"外婆家"、"老家"等模糊地址&#xff0c;实际调查发现这些地址存在虚假情况。传统人工核验方…

作者头像 李华
网站建设 2026/4/3 0:44:17

零基础入门:SM2258XT量产工具使用指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式SM2258XT量产工具学习系统&#xff0c;包含&#xff1a;1.分步骤操作向导 2.3D可视化操作演示 3.常见问题即时解答 4.模拟练习环境。使用HTML5JavaScript开发&#…

作者头像 李华
网站建设 2026/3/19 17:54:47

企业级大模型部署实战:从0到1搭建智能客服系统

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个企业级智能客服系统&#xff0c;功能包括&#xff1a;1. 基于DeepSeek大模型的问答引擎 2. 多轮对话支持 3. 知识库对接接口 4. 对话记录存储 5. 管理员后台。要求使用Pyt…

作者头像 李华
网站建设 2026/3/27 3:00:08

计算机毕业设计springboot基于的医疗管理系统 基于SpringBoot的智慧医院综合管理平台 基于SpringBoot的数字化门诊住院一体化系统

计算机毕业设计springboot基于的医疗管理系统8s791c7p &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。当“排队三小时&#xff0c;看病三分钟”成为常态&#xff0c;当纸质病历在…

作者头像 李华
网站建设 2026/3/27 8:06:20

GIS开发者的福音:开箱即用的地理NLP开发环境

GIS开发者的福音&#xff1a;开箱即用的地理NLP开发环境 作为一名传统GIS工程师转型智慧城市应用开发&#xff0c;你是否经常被复杂的AI环境搭建所困扰&#xff1f;从CUDA驱动安装到Python依赖冲突&#xff0c;再到模型部署的种种难题&#xff0c;这些技术门槛让许多GIS开发者望…

作者头像 李华