当前位置: 首页 > news >正文

做flash网站/数字营销案例

做flash网站,数字营销案例,网站主机免费申请,中山 灯饰 骏域网站建设专家题目描述 现有N(2 ≤ N ≤ 100000)盏灯排成一排,从左到右依次编号为:1,2,......,N。然后依次执行M(1 ≤ M ≤ 100000)项操作,操作分为两种:第一种…

题目描述

现有N(2 ≤ N ≤ 100000)盏灯排成一排,从左到右依次编号为:1,2,......,N。然后依次执行M(1 ≤ M ≤ 100000)项操作,操作分为两种:第一种操作指定一个区间[a, b],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开),第二种操作是指定一个区间[a, b],要求你输出这个区间内有多少盏灯是打开的。灯在初始时都是关着的。

输入输出格式

输入格式:

第一行有两个整数N和M,分别表示灯的数目和操作的数目。接下来有M行,每行有三个整数,依次为:c, a, b。其中c表示操作的种类,当c的值为0时,表示是第一种操作。当c的值为1时表示是第二种操作。a和b则分别表示了操作区间的左右边界(1 ≤ a ≤ b ≤ N)。

输出格式:

每当遇到第二种操作时,输出一行,包含一个整数:此时在查询的区间中打开的灯的数目。

输入输出样例

输入样例#1: 
4 5
0 1 2
0 2 4
1 2 3
0 2 4
1 1 4
输出样例#1: 
1
2

 

Solution:

  本题裸的线段树模板~~。

  对于每次修改取反,直接修改一下懒惰标记(改为$Xor\;1$),并对区间和取反(即$sum[rt]=(r-l+1)-sum[rt]$),意味着原来的$0$的个数就是修改后区间中的$1$的个数。

  然后就是简单的区间修改区间求和拉~。

代码: 

 

#include<bits/stdc++.h>
#define il inline
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const int N=1e5+5;
int n,m,sum[N<<2],lazy[N<<2];
il int gi(){int a=0;char x=getchar();bool f=0;while((x<'0'||x>'9')&&x!='-')x=getchar();if(x=='-')x=getchar(),f=1;while(x>='0'&&x<='9')a=a*10+x-48,x=getchar();return f?-a:a;
}
il void pushup(int rt){sum[rt]=sum[rt<<1]+sum[rt<<1|1];}
il void pushdown(int rt,int k){if(lazy[rt]){lazy[rt<<1]^=1;lazy[rt<<1|1]^=1;sum[rt<<1]=(k-(k>>1))-sum[rt<<1];sum[rt<<1|1]=(k>>1)-sum[rt<<1|1];lazy[rt]=0;}
}
il void update(int L,int R,int c,int l,int r,int rt){if(L<=l&&R>=r){lazy[rt]^=1;sum[rt]=(r-l+1)-sum[rt];return;}pushdown(rt,r-l+1);int m=l+r>>1;if(L<=m)update(L,R,c,lson);if(m<R)update(L,R,c,rson);pushup(rt);
}
il int query(int L,int R,int l,int r,int rt){if(L<=l&&R>=r){return sum[rt];}pushdown(rt,r-l+1);int m=l+r>>1,ret=0;if(L<=m)ret+=query(L,R,lson);if(m<R)ret+=query(L,R,rson);return ret;
}
int main(){n=gi(),m=gi();int x,y,z;while(m--){x=gi(),y=gi(),z=gi();if(!x)update(y,z,1,1,n,1);else printf("%d\n",query(y,z,1,n,1));}return 0;
}

 

 

 

 

转载于:https://www.cnblogs.com/five20/p/9033185.html

http://www.lbrq.cn/news/1576531.html

相关文章:

  • 装饰设计公司哪个好/seo综合查询中的具体内容有哪些
  • 电商创客网站建设方案/湖南网站建设推广
  • 网站开发实训基本要求/网站优化推广是什么
  • 网站底部放什么/网络营销师资格证报名
  • 哪里做网站排名/百度关键词搜索排名帝搜软件
  • 政府网站建设及管理规范 云南/shopify seo
  • 成都网站制作东三环/百度推广服务费一年多少钱
  • DW怎么做电商网站/百度客服在线咨询电话
  • 服务器 网站打开慢/建立网站步骤
  • 做网站的公司属于什么行业/指数基金怎么选
  • 建设工程个人信息采集哪个网站/浙江seo推广
  • 免费织梦网站模板/无锡网站制作推广
  • 官网网站建设需求/怎么优化
  • 作文库网站/上海seo优化公司bwyseo
  • 昆山做网站费用/优秀软文营销案例
  • 哔哩哔哩适合夫妻看的电视剧/搜索引擎优化实验报告
  • 网站建设的基本过程/百度seo怎么收费
  • 提卡网站要怎么做/网络推广外包加手机蛙软件
  • 网站做直播需要什么资质/汽车宣传软文
  • 毕业设计做视频网站/鸡西seo顾问
  • 广州建站模板平台/免费广州seo
  • 怎么做网上网站/百度首页登录入口
  • wordpress 封面图像/搜狗网站seo
  • 重庆任务盟网站建设/查权重的软件
  • 怎样在绍兴e网做网站/网络舆情分析报告
  • 门户网站做的比较好的公司/市场推广方案ppt
  • nodejs做网站的弊端/在线查网站的ip地址
  • 服装厂做1688网站效果好不好/semen
  • 哪些网站做微课赚钱/北京搜索引擎推广公司
  • 怎么做英文的网站首页/seo网站推广什么意思
  • 每日五个pyecharts可视化图表-line:从入门到精通 (4)
  • 【图像算法 - 13】基于 YOLO12 与 OpenCV 的实时目标点击跟踪系统(系统介绍 + 源码详细)
  • 【跨服务器的数据自动化下载--安装公钥,免密下载】
  • 京东方 DV133FHM-NN1 FHD13.3寸 工业液晶模组技术档案
  • 【Redis在在线表单提交防重复机制中的应用策略】
  • 面试经典150题[001]:合并两个有序数组(LeetCode 88)