传送门

线段树

//Twenty
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
#define lc x<<1
#define rc x<<1|1
#define mid ((l+r)>>1)
const int maxn=100005;
int a,b,n,m,sg[maxn<<2];
double sgd[maxn<<2];
using namespace std;
inline int read(){int ret=0,f=1; char ch=getchar();while((ch!='-')&&(ch<'0'||ch>'9')) ch=getchar();if(ch=='-') f=-1,ch=getchar();for(;ch>='0'&&ch<='9';ch=getchar()) ret=ret*10+ch-'0';return ret*f;
}
int CUL(double ma,int x,int l,int r){if(l==r) {return sgd[x]>ma;}if(sgd[lc]<=ma) return CUL(ma,rc,mid+1,r);else return sg[x]-sg[lc]+CUL(ma,lc,l,mid);
}
void change(int x,int l,int r,int xx,double w){if(l==r) {sg[x]=1; sgd[x]=w;return;}if(xx<=mid) change(lc,l,mid,xx,w);else change(rc,mid+1,r,xx,w);sgd[x]=max(sgd[lc],sgd[rc]);sg[x]=sg[lc]+CUL(sgd[lc],rc,mid+1,r);
}
int main()
{n=read(); m=read();while(m--){a=read(); b=read();change(1,1,n,a,(double)b/a);printf("%d\n",sg[1]); }return 0;
}

BZOJ 2957楼房重建

转载于:https://www.cnblogs.com/Achenchen/p/7475120.html

BZOJ 2957楼房重建相关推荐

  1. bzoj 2957: 楼房重建(线段树+递归)

    2957: 楼房重建 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 2778  Solved: 1314 [Submit][Status][Disc ...

  2. 【BZOJ—2957楼房重建】【连载:请在T台上微笑】

    长久没有发博文了...对对对, 所以最近就趁着暑假多发发吧 颓废是革命的本钱: 推荐一个我喜欢的新连载漫画吧[请在T台上微笑] BZOJ 2957 [楼房重建] Description 小A的楼房外有 ...

  3. [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 分析: 根据题意,就是比较斜率大小 只看一段区间的话,那么这段区间能看见的楼房数量就是这 ...

  4. BZOJ 2957: 楼房重建

    Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...

  5. [BZOJ 2957]楼房重建(线段树)

    Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...

  6. bzoj 2957 楼房重建

    http://www.elijahqi.win/archives/3479 Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经 ...

  7. BZOJ 2957 楼房重建-线段树

    这个题最主要的是解决一个统计答案的问题. 首先我们注意到,只要考虑右区间的答案统计就好了. 记左区间的最大值为K,当前右区间为P. 我们把当前右区间又分成两个子区间,s1,s2. 那么如果s1的最大值 ...

  8. BZOJ 2957 楼房重建 (分块)

    题解:分块,然后暴力维护每一块上升序列,注意是不是最长上升序列,二分查找第二块中大于第一块的最后一个上升序列中的数. 注意:每一块的大小不要用√n会T掉的,把块的大小设为500-600都可以(T了一页 ...

  9. 2957: 楼房重建

    2957: 楼房重建 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 1579  Solved: 754 [Submit][Status][Discu ...

最新文章

  1. phpstorm 点击方法跳转 后 返回 原来的位置
  2. Java NIO理解与使用
  3. BZOJ3048: [Usaco2013 Jan]Cow Lineup
  4. angularjs的一点总结
  5. Eclipse Collections随Java版本的演变
  6. c# 2.0 Factory的实现
  7. JSP的9个内置对象-response
  8. 【Sonarqube】编程规范-Sonarqube安装与IDEA下使用
  9. VMware 虚拟机桥接网络设置
  10. java addmonth_JAVA:int month = n.get(Calendar.MONTH)+1;为何要加1?
  11. java sap_SAP系统安装之JAVA
  12. matlab编写算法,Matlab 入门宝典 编程算法大全
  13. linux 解压war到root_解压war包的解压软件 war包可以用解压工具解开吗
  14. 系统规划与管理师——IT服务规划设计
  15. AD转换原理与方案设计(包含原理图、PCB和BOM表)
  16. 大数据收集系统架构图
  17. 洛谷4234最小差值生成树题解(最小生成树+LCT)
  18. Shiro反序列化漏洞检测及修复(工具分享)
  19. 3.10编写程序,计算并输出0到1000含有七或者7倍数的整数之和和及个数
  20. Gazebo + cartographer2D + velodyne多线雷达建图仿真

热门文章

  1. java 按格式输出时间_java格式输出时间
  2. mysql常见增量恢复方式_MySQL 全备份与增量备份 全恢复与增量恢复
  3. 码云nacos下载_nacos安装,配置以及持久化
  4. python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏
  5. vue weex 调用原生toast_vue-template-compiler 还能这么用
  6. matlab在测量数据处理中的应用,MATLAB在测量数据处理中的应用
  7. java fx配置_JavaFX系列-配置开发环境
  8. c语言实现图形界面实现四则运算,C语言实现四则运算的生成器
  9. 量子计算机与人脑接口,量子信息科学:量子计算机、隐形传物与人脑量子运算...
  10. 1.数字图像获取:1.4图像的数据结构与特征