题目链接:https://vijos.org/p/1782

题意:一个区间1,n。m次操作,每次操作让l,r区间值减去d,当有任何一个值小于0就输出当前是第几个操作 这道题其实是没有什么难度的,是线段树中比较常规的题,我写它主要是为了更好的理解lazy标记,之前老师讲线段树我没听懂,所以都只有自己慢慢搞♂了,lazy标记就是与操作挂钩的一个值,根据题的意思不同lazy标记存的东西也会不同,针对这道题来说,lazy标记就是处理当前区间要减去多少天,如果lazy标记不为0说明目前这个区间的值还没有处理,是不正确的值,当lazy=0才表明当前区间的答案是正确的。

这道题我还是wa了很多次的,最后我把范围开大了才过了,当然我这个地方就有点不懂了,题目说的是10^6次方,所以线段树区间我就是(10^6+5)*4但是还是WA了两组,后来把这个区间开大了才AC,不知道原因是啥,如果有大佬知道还望指点一下

代码如下:

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<queue>
#define lson pos<<1
#define rson pos<<1|1
#define maxn 10000005//????
using namespace std; int n,m,minn[maxn<<],lazy[maxn<<],a[maxn]; void pushup(int pos)
{
minn[pos]=min(minn[lson],minn[rson]);
} void build(int l,int r,int pos)
{
if(l==r){
minn[pos]=a[l];return;
}
if(l>r)return;
int mid=(l+r)>>;
build(l,mid,lson);
build(mid+,r,rson);
pushup(pos);
} void pushdown(int pos)
{
minn[pos]-=lazy[pos];
lazy[lson]+=lazy[pos];
lazy[rson]+=lazy[pos];
lazy[pos]=;
} void modify(int l,int r,int pos,int al,int ar,int x)
{
if(lazy[pos])pushdown(pos);//如果pos区间还没有处理
if(al<=l&&r<=ar){
lazy[pos]=x;
pushdown(pos);
return;
}
if(al>r||ar<l)return;
int mid=(l+r)>>;
modify(l,mid,lson,al,ar,x);
modify(mid+,r,rson,al,ar,x);
pushup(pos);
} int main()
{
freopen("fuck.txt","r",stdin);
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
build(,n,);
int d,x,y;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&d,&x,&y);
modify(,n,,x,y,d);
if(minn[]<){
printf("-1\n%d",i);
return ;
}
}
printf("");
}

[vijos1782]借教室<线段树>的更多相关文章

  1. vijos1782借教室

    描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...

  2. vijos1782:借教室

    描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...

  3. NOIP2012借教室[线段树|离线 差分 二分答案]

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...

  4. [NOIP2012] 提高组 洛谷P1083 借教室

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...

  5. 借教室(codevs 1217)

    1217 借教室 2012年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Descrip ...

  6. NOIp 2012 #2 借教室 Label:区间修改线段树

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...

  7. NOIP 2012 Day2T2 借教室题解

    NOIP 2012 Day2T2 借教室题解 题目传送门:http://codevs.cn/problem/1217/ 题目描述 Description 在大学期间,经常需要租借教室.大到院系举办活动 ...

  8. 【NOIP2012】借教室

    因为本校OJ+1s所以用线段树水过了,不去syz的水库水这题还真不知道线段树过不了= = 原题: 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的 ...

  9. NOIP 2012 T5 借教室 [洛谷P1083]

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...

随机推荐

  1. &#160;前端面试题目总结1

    数据类型 js中的数据类型有两类:值类型和引用类型 值类型:number.string.boolean.Symbol.undefined 引用类型:null.数组.对象 使用typeof能用来干什么 ...

  2. node跨域方法

    第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHeadnode部分 var http = require('http') var url = requi ...

  3. Javascript中String()和new String()的区别——JS的包装对象

    最近在看Symbol不能使用new操作符,然后类比到Number,String,Boolean,因为它们同属于基本类型,但是有有所差异:Number,String,Boolean是可以使用new操作符 ...

  4. Vuex的理解以及它的辅助函数

    理解:vue中的“单向数据流”,这里借用官网的图示: Vue是单向数据流,v-model只是语法糖而已.单向数据流就是:数据总是[向下传递]从父级组件传递给子组件,只能单向绑定.子组件内部不能直接修改 ...

  5. CSS的四种样式

    行内式CSS样式 在标签内部使用的样式 <div id="one" style="width:50p"></div> 内嵌式CSS样式 ...

  6. 一文详解Hexo+Github小白建站

    作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...

  7. socket TCP 从0实现音频传输 ALSA 播放

    RTP标准是采用 UDP 发送,有不少现成的开源库,但不在本文讨论的范围内.UDP 用户数据报,不提供流程,安全传输的功能,但速度快,能提供多播,广播,没有序列号 SEQ ,有 MTU 限制,1500 ...

  8. RocketMQ-2.RocketMQ的负载均衡

    目录 RocketMQ的负载均衡 producer对MessageQueue的负载均衡 producer负载均衡 系统计算路由MessageQueue 自定义路由MessageQueue Consum ...

  9. 关于SDL的一些坑:找不到WinMain,不显示控制台,添加链接库等

    目录: 用CMake构建SDL时报错 Gcc添加链接库 Gcc找不到入口(WinMain) 让SDL启动时不带控制台窗口 用CMake构建SDL时报错 root@ubuntu:~/SDL# cmake ...

  10. 【股票盯盘软件】01_程序员炒股之开发一款极简风格的股票盯盘软件StockDog_V1.0.0.1

    1.前言 话说最近一段时间受疫情的影响,股市各种妖魔横行.本人作为一个入股市不满三年的小韭菜,就有幸见证了好几次历史,也是满心惊喜,就权当是接受资本市场的再教育了吧. 小韭菜的炒股方法其实很简单,这两 ...