首页 > 其他分享 >XOR的艺术

XOR的艺术

时间:2024-06-13 17:57:39浏览次数:16  
标签:rt maxx 艺术 XOR int ll && include

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <set>
#include <map>
#include <vector>
#include <queue>
#define maxx 300020
#define ll long long
using namespace std;
int n,m,p,l,r,a[maxx];
char s[maxx];
ll add[maxx<<2],sum[maxx<<2];
inline void getup(int rt)//向上更新 
{
	sum[rt]=sum[rt<<1]+sum[rt<<1|1];
}
inline void bulid(int l,int r,int rt)//建树 
{
	if(l==r)
	{
		sum[rt]=a[l];//赋值 
		return ;
	}
	int mid=(l+r)>>1;
	bulid(l,mid,rt<<1);
	bulid(mid+1,r,rt<<1|1);
	getup(rt);
}
inline void pushdown(int rt,int len)//传递tag 
{
	if(add[rt])
	{
		add[rt<<1]^=1;
		add[rt<<1|1]^=1; 
		sum[rt<<1]=(len-(len>>1))-sum[rt<<1];
		sum[rt<<1|1]=(len>>1)-sum[rt<<1|1];
		add[rt]=0;
	}
}
inline ll query(int L,int R,int l,int r,int rt)//分区间查询 
{//LR是要查询的区间,lr是给定的区间。update同理。 
	if(l>=L&&r<=R)return sum[rt];
	pushdown(rt,r-l+1);
	int mid=(r+l)>>1;
	ll tot=0;
	if(L<=mid) tot+=query(L,R,l,mid,rt<<1);
    if(mid+1<=R) tot+=query(L,R,mid+1,r,rt<<1|1);
    return tot;
}
inline void update(int L,int R,int l,int r,int rt)//更新 
{
	pushdown(rt,r-l+1);
	if(l>=L&&r<=R)
	{
		add[rt]^=1;
		sum[rt]=r-l+1-sum[rt];
		return;
	}
	int mid=(l+r)>>1;
    if(L<=mid) update(L,R,l,mid,rt<<1);
    if(mid+1<=R) update(L,R,mid+1,r,rt<<1|1);  
    getup(rt);
} 
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) cin>>s[i];//先读入字符 
	for(int i=1;i<=n;i++) a[i]=s[i]-'0';//再转换成数字 
	bulid(1,n,1);
	for(int i=1;i<=m;i++) 
	{
		scanf("%d%d%d",&p,&l,&r);
		if(p==0)
			update(l,r,1,n,1);
		if(p==1)
			cout<<query(l,r,1,n,1)<<endl; 
	}
	return 0;
}

https://www.luogu.com.cn/problem/P2574

标签:rt,maxx,艺术,XOR,int,ll,&&,include
From: https://www.cnblogs.com/motaoss/p/18246435

相关文章

  • 如何低成本、高效搭建线上3D艺术展?
    随着数字技术的日新月异,艺术展览领域正迎来一场革新。未来的艺术展览将不再是单一的线下体验,而是线上线下相互融合,其中,3D线上展览将成为线下展览的重要延伸与拓展,为广大观众提供更多元化的选择。对于艺术家和策展人而言,3D线上展览不仅是一个全新的作品展示平台,更是一个突破时......
  • 好车、好团队、好圈子:制造、使用与维护的艺术
     在这个充满协作与互动的时代,我们可以把团队和圈子看作是一辆辆行驶在人生道路上的车辆,每个成员都扮演着车上不可或缺的零部件角色。想要获得一辆性能出色的车,我们需要在制造、使用和维护上付出相应的努力。同样,为了构建一个高效的团队或一个有活力的圈子,我们也需要在创建、......
  • 掌握调试艺术:提升开发效率与问题解决的策略
    调试作为开发中不可或缺的一环,其重要性不言而喻。若尚未掌握此技能,不仅可能影响团队的整体进度,还会限制个人的开发效率。虽然在线资源提供了快速解决问题的途径,但过度依赖可能阻碍深入培养扎实的调试能力。认识到调试技能的重要性,意味着将有更多精力投入到其他富有创造性的工作......
  • 艺术之门,由AI轻启
    在数字与美学交织的世界里,Ai画廊以其独特的AI关键词生成器,为艺术创作打开了一扇便捷之门。这里,无论是东方山水画的意境,还是特写照片中的精细五官,每一种风格和主题都能通过简单的描述被精准捕捉,转化为一幅幅令人赞叹的作品。Ai画廊的魔力,在于它能够理解并深化您的创意,提供从传......
  • 绘触心灵,探索B族智能的艺术之旅
    在数字艺术的浩瀚星海中,B族智能以其独特的Midjourney中文绘图平台,引领我们进入一个充满想象力和创造力的世界。这里,艺术不再受限于传统的画布和颜料,而是通过智能关键词工具,让每一位创作者的思维得以无限延伸。从蒂姆·伯顿风格的神秘插图到中国龙角女孩的科技感十足的装扮,B族......
  • Golang-编码加密-Xor(GG)
    go语言环境搭建Golang学习日志━━下载及安装_golang下载-CSDN博客  gorunxxx.go  gobuildxxx.go 首先,cs.msf生成比特流数据. 放入xor,py脚本中进行xor加密. xor.pydefxor(shellcode,key):new_shellcode=""key_len=len(key)......
  • 算法金 | 让数据讲故事:数据可视化的艺术与科学,几乎是每个领域都需要掌握的技能
    大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]......
  • [ABC126F] XOR Matching 题解
    很好的构造题。题意请构造一个长度为$2^{m+1}$的序列$a$,该序列满足:$\foralli\in[1,2^{m+1}],a_i\in[0,2^m-1]$且每个数都恰好出现两次。对于任意一对$(i,j)$满足$a_i=a_j$,$a_i\oplusa_{i+1}\oplus\cdots\oplusa_{j-1}\oplusa_j=k$。$\oplus$表......
  • Vue 3 Teleport:掌控渲染的艺术
    title:Vue3Teleport:掌控渲染的艺术date:2024/6/5updated:2024/6/5description:这篇文章介绍了Vue3框架中的一个创新特性——Teleport,它允许开发者将组件内容投送到文档对象模型(DOM)中的任意位置,即使这个位置在组件的挂载点之外。Teleport旨在解决某些特定场景下的布局和......
  • JVM调优知识及实践:提升Java程序性能的艺术
    引言:在Java开发中,我们经常遇到程序运行缓慢、响应时间长、内存占用高等问题。这些问题往往与Java虚拟机(JVM)的性能配置和调优相关。JVM调优是Java程序员必须掌握的一项技能,它能够帮助我们优化程序性能,提高系统稳定性。本文将介绍JVM调优的基本知识,并结合实践案例,分享一些调......