用线段树维护区间中最大的一段连续的1,以左端点为左端点最大的一段连续的1,以右端点为右端点最大的一段连续的1,然后就可以支持区间修改和查询了

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 50005
4 #define L (k<<1)
5 #define R (L+1)
6 #define mid (l+r>>1)
7 int n,m,p,x,y,f[N<<3],ls[N<<3],rs[N<<3],laz[N<<3];
8 void up(int k,int l,int r){
9 if (laz[k]>=0)f[k]=ls[k]=rs[k]=laz[k]*(r-l+1);
10 else{
11 f[k]=max(max(f[L],f[R]),rs[L]+ls[R]);
12 ls[k]=ls[L]+(ls[L]==(mid-l+1))*ls[R];
13 rs[k]=rs[R]+(rs[R]==(r-mid))*rs[L];
14 }
15 }
16 void down(int k,int l,int r){
17 if (laz[k]<0)return;
18 laz[L]=laz[R]=laz[k];
19 f[L]=ls[L]=rs[L]=laz[L]*(mid-l+1);
20 f[R]=ls[R]=rs[R]=laz[R]*(r-mid);
21 laz[k]=-1;
22 }
23 void update(int k,int l,int r,int x,int y,int p){
24 if ((l>y)||(x>r))return;
25 if ((x<=l)&&(r<=y)){
26 f[k]=ls[k]=rs[k]=p*(r-l+1);
27 laz[k]=p;
28 return;
29 }
30 down(k,l,r);
31 update(L,l,mid,x,y,p);
32 update(R,mid+1,r,x,y,p);
33 up(k,l,r);
34 }
35 int query(int k,int l,int r,int x){
36 down(k,l,r);
37 if (f[L]>=x)return query(L,l,mid,x);
38 if (rs[L]+ls[R]>=x)return mid-rs[L]+1;
39 return query(R,mid+1,r,x);
40 }
41 int main(){
42 scanf("%d%d",&n,&m);
43 memset(laz,-1,sizeof(laz));
44 update(1,1,n,1,n,1);
45 for(int i=1;i<=m;i++){
46 scanf("%d",&p);
47 if (p==1){
48 scanf("%d",&x);
49 if (f[1]<x)y=0;
50 else y=query(1,1,n,x);
51 printf("%d\n",y);
52 if (y)update(1,1,n,y,y+x-1,0);
53 }
54 else{
55 scanf("%d%d",&x,&y);
56 update(1,1,n,x,x+y-1,1);
57 }
58 }
59 }

[bzoj1593]旅馆的更多相关文章

  1. 【bzoj1593】[Usaco2008 Feb]Hotel 旅馆 线段树区间合并

    题目描述 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光.作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿.这个巨大的旅馆一共有N (1 <= N & ...

  2. 刷题总结——旅馆(bzoj1593线段树)

    题目: Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光.作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿.这个巨大的旅馆一共有N ( ...

  3. 【最长连续零 线段树】bzoj1593: [Usaco2008 Feb]Hotel 旅馆

    最长连续零的线段树解法 Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光.作为整个旅游的策划者和负 责人,贝茜选择在湖边的一家著名的旅馆住宿.这个巨大 ...

  4. bzoj1593 [Usaco2008 Feb]Hotel 旅馆(线段树)

    1593: [Usaco2008 Feb]Hotel 旅馆 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 758  Solved: 419[Submit ...

  5. BZOJ1593 [Usaco2008 Feb]Hotel 旅馆

    裸上线段树,就是记的东西有点多... 每个点记区间左端最长0,右端最长0,中间最长0,和tag表示是否全为0/1 直接更新就好,查询的时候先查左儿子,然后查中间,最后查右儿子... /******** ...

  6. 线段树||BZOJ1593: [Usaco2008 Feb]Hotel 旅馆||Luogu P2894 [USACO08FEB]酒店Hotel

    题面:P2894 [USACO08FEB]酒店Hotel 题解:和基础的线段树操作差别不是很大,就是在传统的线段树基础上多维护一段区间最长的合法前驱(h_),最长合法后驱(t_),一段中最长的合法区间 ...

  7. 【分块】bzoj1593 [Usaco2008 Feb]Hotel 旅馆

    分块,记录每个块内包括左端点的最大连续白段的长度, 整个块内的最大连续白段的长度, 和包括右端点的最大连续白段的长度. Because 是区间染色,所以要打标记. 至于怎样在O(sqrt(n))的时间 ...

  8. Hilbert先生旅馆的故事

    以前上实变函数的时候稍微讲了下这个故事呢. 来自Hansschwarzkopf 很久很久以前,在欧洲某国的一个小镇上,Hilbert先生开了一家拥有无数个房间的旅馆.一天,旅馆生意红火得一塌糊涂,不到 ...

  9. BZOJ 1593: [Usaco2008 Feb]Hotel 旅馆

    Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光.作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿.这个巨大的旅馆一共有N (1 &l ...

随机推荐

  1. 极简SpringBoot指南-Chapter04-基于SpringBoot的书籍管理Web服务

    仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...

  2. Scala trait特质 深入理解

    Scala trait特质 深入理解 初探Scala 特质trait 在Scala中,trait(特质)关键字有着举足轻重的作用.就像在Java中一样,我们只能在Scala中通过extends进行单一 ...

  3. 从零入门 Serverless | 架构的演进

    作者 | 许晓斌 阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverless ...

  4. 洛谷4103 HEOI2014大工程(虚树+dp)

    又是一道虚树好题啊 我们建出来虚树,然后考虑dp过程,我们分别令\(sum[x],mndis[x],mxdis[x],size[x]\)为子树内的路径长度和,最短链,最长链,子树内关键点个数. 对于一 ...

  5. ❤️这应该是Postman最详细的中文使用教程了❤️(新手使用,简单明了)

    ️这应该是Postman最详细的中文使用教程了️(新手使用,简单明了) 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进 ...

  6. Endian

    Endian 寻址 多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址. 例如,假设一个类型为 int 的变量 a 的地址为 0x100,也就是说,地址表达式 &a 的值为 ...

  7. vue.$set实现原理

    上源码: export function set (target: Array<any> | Object, key: any, val: any): any { if (process. ...

  8. django通过管理页上传图片

    1.配置目录 新建上传录.static/medis 2.设置上传文件保存路径 # setting.py中设置上传文件路径static/media MEDIA_ROOT = os.path.join(B ...

  9. [no code][scrum meeting] Beta 2

    例会时间:5月14日11:30,主持者:乔玺华 下次例会时间:5月15日11:30,主持者:肖思炀 一.工作汇报 人员 昨日完成任务 明日要完成的任务 乔玺华 - 开issue,分配时间 黎正宇 - ...

  10. Machine learning (7-Regularization)

    1.The Problem of Over-fitting 2.Cost Function 3.Regularized Linear Regression 4.Regularized Logistic ...