首页 > 其他分享 >P2801 教主的魔法

P2801 教主的魔法

时间:2023-05-27 15:13:49浏览次数:50  
标签:opt return int P2801 魔法 mid 教主 ans query

点击查看代码
#include<bits/stdc++.h>
#define ls (k<<1)
#define rs (k<<1|1)
#define mid (l+r>>1)
#define int long long
using namespace std;
int n,m;
char opt;
const int N=1e6+7;
int s[N<<2],a[N],lazy[N<<2];
int maxx[N<<2],minn[N<<2];
void pushup(int k,int l,int r){
    maxx[k]=max(maxx[ls],maxx[rs]);
    minn[k]=min(minn[ls],minn[rs]);
}
void pushdown(int k,int l,int r){
    if(lazy[k]){
        lazy[ls]+=lazy[k];lazy[rs]+=lazy[k];
        maxx[ls]+=lazy[k];minn[ls]+=lazy[k];
        maxx[rs]+=lazy[k];minn[rs]+=lazy[k];
        lazy[k]=0;
    }
}
void build(int k,int l,int r){
    if(l==r) return maxx[k]=minn[k]=a[l],void();
    build(ls,l,mid);build(rs,mid+1,r);
    pushup(k,l,r);
}
void add(int k,int l,int r,int x,int y,int c){
    if(x<=l&&y>=r){
        maxx[k]+=c;minn[k]+=c;lazy[k]+=c;return;
    }
    pushdown(k,l,r);
    if(x<=mid) add(ls,l,mid,x,y,c);
    if(y>=mid+1) add(rs,mid+1,r,x,y,c);
    pushup(k,l,r);
}
int query(int k,int l,int r,int x,int y,int c){
    if(x<=l&&y>=r){
        if(c<=minn[k]) return r-l+1;
        if(c>maxx[k]) return 0;
    }
    pushdown(k,l,r);
    int ans=0;
    if(x<=mid) ans+=query(ls,l,mid,x,y,c);
    if(y>=mid+1) ans+=query(rs,mid+1,r,x,y,c);
    pushup(k,l,r);
    return ans;
}
signed main(){
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
	build(1,1,n);
    // cout<<query(1,1,n,1,n,5);
	for(int i=1;i<=m;i++){
	    int x,y;
        int c;
        cin>>opt>>x>>y>>c;
        
	    if(opt=='M'){
		    add(1,1,n,x,y,c);
	    }
	    else{printf("%lld\n",query(1,1,n,x,y,c));}
	}
    
	return 0;
}

标签:opt,return,int,P2801,魔法,mid,教主,ans,query
From: https://www.cnblogs.com/Zimo233/p/17436757.html

相关文章

  • 题解(教主的魔法)P2801
    题目教主的魔法题目描述教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是$N$个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为$1,2,\ldots,N$。每个人的身高一开始都是不超过$1000$的正整数。教主的魔法每次可以把闭区......
  • 《花雕学AI》语言+想象+人工智能=图像魔法:微软 Bing 图像魔法师的功能、价值和评测
    你有没有想过,如果你能够用语言来创造图像,那该有多么神奇和有趣?你有没有想过,如果你能够看到你想象中的图像,那该有多么震撼和美妙?现在,这一切都可以实现了,因为微软Bing图像魔法师来了!微软Bing图像魔法师是一款能够根据用户的描述生成图像的人工智能产品,它可以让你的语言变成视觉,......
  • Luogu P2801 教主的魔法(Loj 数列分块入门 2)
    教主的魔法题目描述教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是\(N\)个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为\(1,2,\ldots,N\)。每个人的身高一开始都是不超过\(1000\)的正整数。教主的魔法每次可以把闭......
  • Linux命令行的输入输出重定向和管道:灵活处理数据的魔法工具
    概要:本文详细介绍了在Linux中使用输入重定向、输出重定向和管道的方法,以及它们在命令行操作中的实用性。通过适当的使用输入输出重定向和管道,我们可以灵活地处理命令的输入和输出,从而提高工作效率。文章通过丰富的示例说明了各种重定向和管道的用法,让读者能够轻松理解和应用这些功......
  • 【做题记录】SHOI 2012 魔法树
    有两个操作:将\(u\)到\(v\)路径增加\(k\)询问\(u\)节点的子树和显然,我们可以用树链剖分+线段树来做。代码:#include<cstdlib>#include<cstdio>#include<cctype>#include<algorithm>typedeflonglongLL;typedefunsignedlonglongULL;namespaceFastIo{......
  • 自动操作魔法师
    产品下载(won-soft.   ......
  • Solution Set - “请背诵每条魔法的禁忌”
    目录0.「HAOI2018」「洛谷P4494」反色游戏1.「JSOI2010」「洛谷P6029」旅行2.「CTSC2017」「洛谷P3774」最长上升子序列⭐3.「CTSC2018」「洛谷P4566」青蕈领主⭐4.「CTSC2008」「洛谷P4528」图腾5.「SDOI2017」「洛谷P3779」龙与地下城6.「JSOI2018」「洛谷P4558......
  • 免费无需魔法会语音聊天的ChatGPT
    今天发现了一个很好的ChatGPT,可以语音聊天,而且免费无需魔法角色目前包括夏洛克、雷电影等等,对话的声调完全模拟了原角色!目前只有英文和日语两种对话,我们可以文字输入或者语音输入,中文即可,系统会语音回答,自带翻译。联系口语交流还是很不错的,目前响应速度很快,无广告。具体的机器人......
  • Python常用魔法方法
    Python常用魔法方法1、__new__()__new__是在实例创建之前被调用的,用于创建实例,然后返回该实例对象2、__init__()__init__是当实例对象创建完成后被调用的,用于初始化一个类实例classMyClass(object):def__init__(self,name,age):print('__init__called')......
  • ASP.NET没有魔法——ASP.NET MVC Controller的实例化与执行
    原文:https://www.cnblogs.com/selimsong/p/7677108.html上一章节中对路由的注册和匹配过程进行了介绍,知道了MVC的Http请求最终是交由MvcHandler处理的,而其处理过程就是对Controller的创建、执行和释放。本章将从以下几点进一步对上面提到的三个过程进行介绍:●MvcHand......