luogu P1083 借教室

传送门

小水题吧

二分能处理到的询问即可

用差分维护前x个订单之后的值

最后求一遍前缀和 如果爆负就是有不满足的

复杂度O((m+n)lgm)

或者区间加和区间最小值线段树也行(常数略大)

Code:(线段树)

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include <iostream>
 5 #include<algorithm>
 6 #define rep(i,a,n) for(int i = a;i <= n;++i)
 7 #define per(i,n,a) for(int i = n;i >= a;--i)
 8 #define inf 2147483647
 9 #define ms(a,b) memset(a,b,sizeof a)
10 using namespace std;
11 typedef long long ll;
12 ll read() {
13     ll as = 0,fu = 1;
14     char c = getchar();
15     while(c < '0' || c > '9') {
16     if(c == '-') fu = -1;
17     c = getchar();
18     }
19     while(c >= '0' && c <= '9') {
20     as = as * 10 + c - '0';
21     c = getchar();
22     }
23     return as * fu;
24 }
25 //head
26 const int N = 1000006;
27 int n,m;
28 int a[N];
29 
30 #define ls t<<1
31 #define rs t<<1|1
32 int p[N<<2],add[N<<2];
33 void pdown(int l,int r,int t) {
34     if(!add[t]) return;
35     p[ls] += add[t],p[rs] += add[t];
36     add[ls] += add[t],add[rs] += add[t];
37     add[t] = 0;
38 }
39 void build(int l,int r,int t) {
40     if(l == r) return void(p[t] = read());
41     int m = l+r >> 1;
42     build(l,m,ls),build(m+1,r,rs);
43     p[t] = min(p[ls],p[rs]);
44 }
45 void update(int L,int R,int c,int l,int r,int t) {
46     if(L <= l && r <= R) {
47     p[t] -= c;
48     add[t] -= c;
49     return;
50     }
51     pdown(l,r,t);
52     int m = l+r >> 1;
53     if(L <= m) update(L,R,c,l,m,ls);
54     if(R >  m) update(L,R,c,m+1,r,rs);
55     p[t] = min(p[ls],p[rs]);
56 }
57 int query(int L,int R,int l,int r,int t) {
58     if(L <= l && r <= R) return p[t];
59     pdown(l,r,t);
60     int m = l+r >> 1;
61     int ans = inf;
62     if(L <= m) ans = min(ans,query(L,R,l,m,ls));
63     if(R >  m) ans = min(ans,query(L,R,m+1,r,rs));
64     return ans;
65 }
66 
67 int main() {
68     n = read(),m = read();
69     build(1,n,1);
70     rep(i,1,m) {
71     int d = read(),x = read(),y = read();
72     update(x,y,d,1,n,1);
73     if(query(x,y,1,n,1) < 0) {
74         printf("-1\n%d\n",i);
75         return 0;
76     }
77     }
78     puts("0");
79     return 0;
80 }

 

转载于:https://www.cnblogs.com/yuyanjiaB/p/9928635.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

svgaps绘制时不能用中文命名吗_设计师需要了解的切图命名规范

2020年8月21日下午4点50分 黄河公园通常我们在界面设计完成之后要切图给到前端开发。初做UI设计时&#xff0c;把重点都放在设计效果图上&#xff0c;对之后的切图命名规范没有很注重。当时我会有一些疑惑&#xff0c;切图命名的原则是什么&#xff1f;直接命名为能表达清楚的名…

hdu-1728(贪心bfs的灵活运用吧)

链接 [https://vjudge.net/contest/256476#problem/D] 题意 给定一个m n (m行, n列)的迷宫&#xff0c;迷宫中有两个位置&#xff0c;gloria想从迷宫的一个位置走到另外一个位置&#xff0c;当然迷宫中有些地方是空地&#xff0c;gloria可以穿越&#xff0c;有些地方是障碍&am…

jquery ajax.then,jQuery动态AJAX Promise链

小编典典解决方案使用for&#xff1a;var array [One, Two, Three];var id array[0];var data getData(id);for (var i 1; i < array.length; i) {// Or only the last "i" will be used(function (i) {data data.then(function() {return getData(array[i])…

分享20个漂亮的DIV CSS标准化站点案例

看到有些网站的代码十分优雅&#xff0c;心想自己什么时候也能写出这么好的代码。其实&#xff0c;这不是一朝一夕能达到的&#xff0c;需要的实践中不断锤炼和提高。我们可以通过分析别人写得好的网页代码来更加快速的提高自己&#xff0c;下面向大家推荐20个基于DIV CSS标准布…

在单独的WAR组件中对SPA资源和API实现进行分区

单页应用程序正Swift吸引人们的注意力&#xff0c;以实现基于Web的丰富&#xff0c;健壮和移动友好的应用程序。 本质上&#xff0c;这需要改变应用程序体系结构&#xff0c;其中整个应用程序用户界面是使用JavaScript来实现的&#xff0c;而服务器端代码则为服务器端应用程序逻…

Centos7中安装多版本dotnet core sdk

新开发的项目使用了新的2.1.3由于sdk不兼容之前的2.0版本&#xff0c;所以需要安装两个版本的sdk&#xff0c;参考链接&#xff1a;https://ken.io/note/centos7-.netcore-multi-version-install&#xff0c;对Linux安装还是理解不够到位&#xff0c;这次就明白点了&#xff0c…

上传文件显示进度条_【技巧 】iOSamp;Windows互传文件?透过「文件」轻松解决~...

苹果家的隔空投送能做到手机、电脑间的无缝衔接&#xff1b;在iOS13的「文件」中加入了局域网的文件共享功能&#xff0c;电脑不需要安装任何软件&#xff0c;实现 iPhone 与 Windows 电脑间文件的共享、传输。注意&#xff1a;本文介绍的是基于局域网&#xff08;同一路由器&a…

HTTP简介

详细URL: http://www.cnblogs.com/ranyonsue/p/5984001.html 主要特点 1、简单快速&#xff1a;客户向服务器请求服务时&#xff0c;只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单&#xff0c;使得H…

在Window上使用Jenkins自动部署和上传快照Java工件

这篇文章将展示如何使用Jenkins Continuous Integration自动执行Java Web应用程序&#xff08;使用MYSQL DB和基于Hibernate ORM在基于REST的Jersey2 Spring环境中开发的学生申请应用程序&#xff09;的部署过程-生成项目&#xff0c;运行单元测试&#xff0c;上传构建的工件到…

10个在线Web设计开发工具介绍

1. 在线文本生成器 BlindTextGenerator&#xff1a;对设计师来说&#xff0c;这是一个简单又好用的文本生成小工具。内含许多种字体&#xff0c;可设置字符的大小&#xff0c;数量&#xff0c;样式&#xff0c;段落的数量及对齐方式等&#xff0c;还可以很方便且精确地调节文本…

获取clientheight为0_用10行python代码获取全国城市交通生活圈

今天在网上冲浪看到一个很花哨的数据&#xff0c;全国各城市主要商圈从早上6点到晚上10点的20min&#xff0c;30min,45min,60min,90min生活圈轮廓。1 获取思路按下F12按下F12&#xff0c;点击淮海路可以看到出现一个网站&#xff0c;他就是我们要找的接口接口内容是通过get请求…

promise将ajax变为同步,ES6-Promise改造异步请求为同步

1.扩展&#xff1a;ajax1.1 代码如下$.ajax({url:地址,type:get/post,data:{},dataType:json/jsonp,success:function(res){//请求成功&#xff0c;接收返回值}})1.2 概念ajax不能跨域请求两个网址&#xff1a;协议 主域号 端口号 完全相同时&#xff0c;这时两个网址完全相同&…

PostgreSQL分页

转自 https://blog.csdn.net/tomcat_2014/article/details/49947711 如果用过mysql,那么对 select * from xxx limit x,y;这样的语法会很熟悉。 不过pg是不支持这样的语法的&#xff0c;但支持 select * from xxx limit pagesize offset offsetNum ; 一般情况下&#xff1a; pa…

12个便于web设计及开发的在线工具

请不要低估这些小工具&#xff0c;他们极其的方便并且能节省很多的时间和工作&#xff0c;下面就是这些在线工具的列表&#xff0c;挑几款来试试吧。 我还是比较喜欢Ajax Load和Web 20 Badges Generator的&#xff0c;你们呢&#xff1f; Favico 一个图标制作工具&#xff0c…

服务器改家用系统吗,服务器主机改家用

服务器主机改家用 内容精选换一换本节操作介绍购买云耀云服务器的操作步骤。购买时&#xff0c;为减少您配置参数的时间&#xff0c;部分参数由系统自动分配&#xff0c;以下参数配置供你了解系统的默认配置。购买云耀云服务器仅支持“包年/包月”的计费方式&#xff0c;请您在…

指定module_一个缺失已久的特性 — module模块

在ES6之前&#xff0c;Javascript还不支持原生的模块化。如果要实现模块化&#xff0c;我们要借助一些框架&#xff0c;比如&#xff1a;requireJS或者seaJS等&#xff1b;什么&#xff1f;没用过也没听过这些框架&#xff1f;没关系&#xff0c;它们不是我们今天要讲的重点。今…

使用HTML5,画布和开放数据创建全球降水(雨)可视化

我目前正在为Three.js编写下一本书&#xff0c;其中一章涉及可视化开放数据。 在寻找可以使用的数据时&#xff0c;我遇到了来自NOAA的一组数据。 通过此站点&#xff0c;您可以以网格格式下载一组全世界的每月降水报告。 因此&#xff0c;我下载了它们&#xff0c;然后开始处理…

CRF两个例子的理解

概率计算例子&#xff1a; 预测例子&#xff1a; 转载于:https://www.cnblogs.com/callyblog/p/9933993.html

【转】前端开发值得一看的文章

其实这篇文章不是这里的&#xff0c;只是&#xff0c;后台很傻B地进不了了。也不知道是什么乱七八糟的问题。先写在这里&#xff0c;当做这么久没更新的偷懒好了。&#xff08;而且&#xff0c;挑出来的这些都是精华呢!&#xff09;&#xff0c;大家各取所需吧&#xff1a; 1. …

Spring boot Mybatis 整合(注解版)

之前写过一篇关于springboot 与 mybatis整合的博文&#xff0c;使用了一段时间spring-data-jpa&#xff0c;发现那种方式真的是太爽了&#xff0c;mybatis的xml的映射配置总觉得有点麻烦。接口定义和映射离散在不同的文件中&#xff0c;阅读起来不是很方便。于是&#xff0c;准…