洛谷P1083 借教室 NOIP2012D2T2 线段树
正解:线段树
解题报告:
。。。真的不难啊只是开了这个坑就填下?
就是先读入每天的教室数建个线段树然后每次读入就update一下,线段树存的就这一段的最小值啊,然后如果有次更新完之后tr[1]小于0了说明不行了就输出然后return 0就行了?
实在是不难的,不想说了
放个代码就结束!
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(ll i=x;i<=y;i++)
ll n,m,mn[],a[],add[];
ll read()
{
;
;
'))ch=getchar();
;
)+(x<<)+(ch^'),ch=getchar();
return y?x:-x;
}
void build(ll rt,ll l,ll r)
{
if(l==r){mn[rt]=a[l];return;}
build(rt<<,l,(l+r)>>);build((rt<<)|,((l+r)>>)+,r);
mn[rt]=min(mn[rt<<],mn[(rt<<)|]);
return;
}
void pushdown(ll rt,ll l,ll r,ll mid)
{
add[rt<<]+=add[rt];add[(rt<<)|]+=add[rt];
mn[rt<<]+=add[rt];mn[(rt<<)|]+=add[rt];
add[rt]=;
return;
}
void update(ll rt,ll l,ll r,ll x,ll y,ll d)
{
if(l>=x && r<=y){add[rt]+=d,mn[rt]+=d;return;}
if(l>y || r<x)return;
ll mid=(l+r)>>;
)pushdown(rt,l,r,mid);
,l,mid,x,y,d);
)|,mid+,r,x,y,d);
mn[rt]=min(mn[rt<<],mn[(rt<<)|]);
return;
}
int main()
{
n=read();m=read();
rp(i,,n)a[i]=read();
build(,,n);
rp(i,,m)
{
ll d=read(),s=read(),t=read();update(,,n,s,t,-d);
]<);
}
printf("0\n");
;
}
洛谷P1083 借教室 NOIP2012D2T2 线段树的更多相关文章
- 【题解】洛谷 P1083 借教室
目录 题目 思路 \(Code\) 题目 P1083 借教室 思路 线段树.需要的操作为区间修改,区间查询.维护每个区间的最小值就好. \(Code\) #include<iostream> ...
- 洛谷P1083 借教室
P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...
- 洛谷 P1083 借教室 题解
P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...
- 洛谷 P1083 借教室【二分+差分/线段树】
二分mid,然后用1~mid的操作在差分序列上加减,最后把差分序列前缀和起来,看是否有有超过初始r值的 #include<iostream> #include<cstdio> ...
- 洛谷 P1083 借教室
传送门:Probem 1083 https://www.cnblogs.com/violet-acmer/p/9721160.html 一.暴力简述 首先我们不难看出,这道题--并不是一道多难的题,因 ...
- VIjos——V 1782 借教室 | | 洛谷——P1083 借教室
https://vijos.org/p/1782|| https://www.luogu.org/problem/show?pid=1083 描述 在大学期间,经常需要租借教室.大到院系举办活动,小到 ...
- NOIP2012 洛谷P1083 借教室
传送门 题意:有一些学(xian)生(quan)要借教室.在n天内,第i天学校有ri个教室.有m份订单,每份订单有三个数值dj,sj,tj,分别表示这个订单从第sj天开始到第tj天结束(包括端点),每 ...
- [NOIP2012] 提高组 洛谷P1083 借教室
题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...
- 洛谷P1083借教室题解
题目 这个难度感觉并没有那么高,因为这个题暴力也好打,但是比较难想出正解,因为如果你不看标签是很难想到这个题竟然是二分,当然前缀和应该很好想,毕竟让你求的是在某段时间内借教室的和是否满足. 这样我们可 ...
随机推荐
- IIS URL Rewrite – Installation and Use
IIS URL Rewrite – Installation and Use Posted by Nick LeFevre | Leave a reply IIS URL Rewrite Instal ...
- C++ template —— 模板基础(一)
<C++ Template>对Template各个方面进行了较为深度详细的解析,故而本系列博客按书本的各章顺序编排,并只作为简单的读书笔记,详细讲解请购买原版书籍(绝对物超所值).---- ...
- linux shell 随机字符生成单词
#!/bin/sh #生成随机5个单词 filecount= wordcount= flag= #-lt -le -gt -ge -eq #while [ $f -lt $filecount ]; # ...
- codeforces水题100道 第五题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas (math)
题目链接:http://www.codeforces.com/problemset/problem/546/A题意:一个人现在有n元,它买第i根香蕉需要i*k元,问他要买w根香蕉的话,需要问他的朋友借 ...
- 获取访客IP、地区位置信息、浏览器、来源页面
<?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if ...
- 【cs229-Lecture11】贝叶斯统计正则化
本节知识点: 贝叶斯统计及规范化 在线学习 如何使用机器学习算法解决具体问题:设定诊断方法,迅速发现问题 贝叶斯统计及规范化(防止过拟合的方法) 就是要找更好的估计方法来减少过度拟合情况的发生. 回顾 ...
- python爬虫---->scrapy的使用(一)
这里我们介绍一下python的分布式爬虫框架scrapy的安装以及使用.平庸这东西犹如白衬衣上的污痕,一旦染上便永远洗不掉,无可挽回. scrapy的安装使用 我的电脑环境是win10,64位的.py ...
- How To MD5SUM --- 如何检查MD5值?
windows : Hash_1.0.4.exe 可以检查md5 https://help.ubuntu.com/community/HowToMD5SUM Introduction When on ...
- 使用 mysql workbench 建议
在日常使用mysql workbench时,未免操作失误,不建议启用远程管理.
- 题目1010:A + B(字符串转数字)
题目链接:http://ac.jobdu.com/problem.php?pid=1010 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...