bzoj1058: [ZJOI2007]报表统计

哈哈set卡时过了。

set求前驱的方法:*--b.lower_bound(x) (想想写了splay的肉老师就很愉悦啊)

弄两个set,一个记录的是位置的值,一个是差值,MIN_SORT_GAP就很简单啊,插入的时候找前驱后继,然后mmin代表当前最小值就可以了。

对于MIN_GAP要记录当前位置的st,ed,因为插入时是往后叠加的,所以st就是一开始这个位置的值,ed就是最后一个插入在该位置的值,这样一来当插入的时候,就可以方便的找到位置在前面和后面的值。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<set>
#include<map>
using namespace std;int st[510000],ed[510000];
multiset<int>a,b;
map<int,int>mp;
char ss[20];
int main()
{int n,m,p,x,k,mmin=999999999;scanf("%d%d",&n,&m);b.insert((-5)*1e8-1);b.insert(5*1e8+1);for(int i=1;i<=n;i++){scanf("%d",&x);st[i]=ed[i]=x;int l=*--b.lower_bound(x),r=*b.lower_bound(x);mmin=min(mmin,min(x-l,r-x));b.insert(x);}for(int i=2;i<=n;i++){k=abs(st[i]-st[i-1]);mp[k]++;if(mp[k]==1)a.insert(k);}for(int i=1;i<=m;i++){scanf("%s",ss+1);if(ss[1]=='I'){scanf("%d%d",&p,&x);if(p!=n){k=abs(ed[p]-st[p+1]);mp[k]--;if(mp[k]==0)a.erase(k);}k=abs(ed[p]-x);mp[k]++;if(mp[k]==1)a.insert(k);k=abs(x-st[p+1]);mp[k]++;if(mp[k]==1)a.insert(k);ed[p]=x;int l=*--b.lower_bound(x),r=*b.lower_bound(x);mmin=min(mmin,min(x-l,r-x));b.insert(x);}else if(ss[5]=='S')printf("%d\n",mmin);else printf("%d\n",*a.begin());}return 0;
}

 

转载于:https://www.cnblogs.com/AKCqhzdy/p/8527765.html

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

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

相关文章

javascript对象包含哪些要素_重学JavaScript 对象

栏目为大家介绍JavaScript的对象&#xff0c;重新认识。这里我们继续学习两个比较重要的类型&#xff0c;就是 Object 和 Symbol。我们主要讲的是 Object&#xff0c;相对 Object 来说 Symbol 只是一个配角。关于对象这个概念大家非常早就会接触到了&#xff0c;其实人大概在 5…

【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!...

Himi 原创&#xff0c; 欢迎转载&#xff0c;转载请在明显处注明&#xff01; 谢谢。 原文地址&#xff1a;http://blog.csdn.net/xiaominghimi/article/details/6937097 终于在11月公司的游戏即将上线了&#xff0c;那么对于iOS游戏来说当今都是内置道具收费属于主流&#xf…

「BZOJ2879」[Noi2012]美食节

这道题就是 「BZOJ1070」[SCOI2007]修车 的加强版 如果一开始把全部边连上会T 优化的方法是只连用到过和下一次增广可能用到的边。 1 #include<bits/stdc.h>2 using namespace std;3 const int N50,M110,NN100010,oo1e9;4 int n,m,cost[N][M],tot,s,t,p[N],rank[NN],c[NN…

不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸

嘿嘿&#xff0c;我没有猜错吧&#xff01;iOS 14.3 正式版会在12月15日凌晨时段发布&#xff0c;在前几天我就有提到&#xff0c;这一天会发布&#xff0c;主要是与新品 AirPods Max 发售时间与iOS 14.3正式版发布时间一致。其次这次发布iOS 14.3正式版更新内容与 iOS 14.3 RC…

Hibernate【inverse和cascade属性】知识要点

Inverse属性 Inverse属性&#xff1a;表示控制权是否转移.. true:控制权已转移【当前一方没有控制权】false&#xff1a;控制权没有转移【当前一方有控制权】Inverse属性&#xff0c;是在维护关联关系的时候起作用的。只能在“一”的一方中使用该属性&#xff01;Inverse属性的…

[转]HOWTO do Linux kernel development - take 3 (中文版)

打好linux基础&#xff0c;不断的跟随这篇文章中的建议&#xff0c;适应linux kernel开发的流程。虽然需要很久甚至几年的时间&#xff0c;但我相信坚持就会前进&#xff01;加油&#xff01; HOWTO do Linux kernel development - take 3 (中文版) 译者&#xff1a;张乐 rober…

中list如何清空_如何根据索引删除 list 中的元素

这个问题很简单, 首先想到的就是a list(range(10)) del a[2]这个就可以很方便的删除掉 a 中的第 3 个元素.如果我想删除多个元素怎么办, 比如我想删除第 3, 4, 5, 6 个元素? 这个也很好办:a list(range(10)) del a[2:6]那么我要删除的元素的索引不连续呢? 比如我要删除第 3…

sql server紧急状态下登录脚本

--打开xp_cmdshell功能 EXEC [sys].[sp_configure] configname xp_cmdshell, -- varchar(35)configvalue 1 -- int 4 RECONFIGURE WITH override--修改注册表&#xff0c;修改身份验证为混合验证方式 USE [master] GOEXEC xp_instance_regwrite NHKEY_LOCAL_MACHINE, NSoftwa…

第一次项目之后...

从开始学习php不知不觉已经过去两个多月了&#xff0c;其中经历了各种各样以前没有经历过的生活和学习&#xff0c;在将近三个月的学习生活中我完成了第一个php项目。要说感觉&#xff0c;还真有些奇特&#xff0c;从开始连php是什么到现在能够亲手写出一个像模像样的网站就好像…

查询时拼接两列数据_如何用VBA代码查询两列数据差异?

爱就一个字&#xff0c;我只说一次……北京市第三交通委提醒您&#xff1a;代码千万条&#xff0c;注释第一条&#xff0c;命名不规范&#xff0c;修订两行泪……咳&#xff0c;给大家拜晚年了&#xff0c;再提前祝大家元宵快乐……我们今天和大家分享的内容是如何用VBA代码查询…

setTimeout详解

https://www.cnblogs.com/wzndkj/p/7069331.html 一、setTimeout基础 setTimeout(func|code,delay);第一个参数表示将要推迟的函数名或者一段代码&#xff0c;第二个参数表示推迟执行的毫秒数eg: console.log(1); setTimeout(console.log(2),1000); console.log(3);answer: 1 3…

Kappa电商负责人顾皓澜:电商业务一直保持盈利

Kappa电商负责人顾皓澜&#xff08;TechWeb配图&#xff09; 【TechWeb报道】10月初&#xff0c;闹得沸沸扬扬的淘宝商城事件吸引了无数互联网用户的目光&#xff0c;处于漩涡中心的淘宝商城当仁不让地挤入话题排行榜&#xff0c;商城上大小卖家的命运也牵动了众多消费者的心。…

python abs(3+4j)_表达式 abs(3+4j) 的值为 ____________ 。_学小易找答案

【单选题】REHL6/Centos6中重启网络服的命令是( ) 【单选题】在故障分析时,对变压器,以下说法不正确的是( ) 【填空题】表达式 chr(ord(A)+1) 的值为 ____________________ 。 【填空题】 【简答题】 【简答题】请提交实验报告 【单选题】电力系统发生三相短路时,短路电流知包含…

Citrix VDI-in-a-Box 第二篇:架构篇

前言&#xff1a;为什么Citrix会收购Kaviza&#xff0c;就是因为其VDI-in-a-Box产品架构比较简单。 本文重点描述其架构和安装要求。 如果你想了解一个东西&#xff0c;首先必须了解其架构。 vdiManager是管理整个架构的工具&#xff0c;所有的虚拟机都运行在Hypervisor上。整 …

看完此文再不懂区块链算我输,用Python从零开始创建区块链

如果你还没有听说过 3 点钟区块链群&#xff0c;说明你还不是链圈的人&#xff1b;如果你还没有加入 3 点钟区块链群&#xff0c;说明你还不是链圈的大佬&#xff1b;如果你还没有被 3 点钟区块链群刷屏&#xff0c;说明你还体会不到什么是“币圈一天&#xff0c;人间一年”。 …

重新加一个window_Activity、View、Window关系,进程间通信,责任链模式,Https,数据存储...

码仔&#xff0c;今天就给大家带来了《每日一道面试题》的第九期&#xff1a;01理解Activity View window的关系 Activity像一个工匠(控制单元)&#xff0c;Window像窗户(承载模型)&#xff0c;View像窗花(显示视图)LayoutInflater像剪刀&#xff0c;Xml配置像窗花图纸。 Activ…

Maven项目编译工具的使用

Java项目中最常用的编译工具是Ant&#xff0c;Ant解析XML配置文件&#xff0c;即build.xml&#xff0c;执行Target来实现用户目标的编译工作。Maven也是一个非常好用的编译工具&#xff0c;Maven类似于Ant也是有一个配置文件来配置编译信息&#xff0c;即pom.xml. 本文简要描述…

排他网关(ExclusiveGateWay)

网关&#xff08;ExclusiveGateWay&#xff09; 作者&#xff1a;邓家海2018年3月11日 00:13:25 情景:某一家公司最近在给一个单位做一个财务审批的OA。具体需求是这样的&#xff1a;当部门申请的金额小于一万块的时候&#xff0c;财务部可以直接决策。当部分申请的金额大于一万…

离线安装宝塔lnmp_宝塔LNMP环境 Nginx安装EduSoho教程说明

[toc]宝塔下使用LNMP Nginx安装EduSoho创建站点 宝塔后台 > 网站 > 添加站点 > 输入信息 > 提交填写信息创建完成设置运行目录 宝塔后台 > 网站 > 管理运行目录选择web目录后保存 网站目录 > 运行目录 > 保存修改配置文件 配置文件 > 修改参数 >…

NHibernate初学者指南(10):一级和二级缓存

一级缓存 为了获得更好的性能&#xff0c;NHibernate智能地缓存数据。NHibernate有不同的缓存机制起作用&#xff0c;最重要的就是一级缓存。每个session对象维持一个一级缓存&#xff0c;session对象创建时缓存创建&#xff0c;session对象释放时缓存销毁。 缓存只不过是一个哈…