BZOJ 2957楼房重建
传送门
线段树
//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楼房重建相关推荐
- bzoj 2957: 楼房重建(线段树+递归)
2957: 楼房重建 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 2778 Solved: 1314 [Submit][Status][Disc ...
- 【BZOJ—2957楼房重建】【连载:请在T台上微笑】
长久没有发博文了...对对对, 所以最近就趁着暑假多发发吧 颓废是革命的本钱: 推荐一个我喜欢的新连载漫画吧[请在T台上微笑] BZOJ 2957 [楼房重建] Description 小A的楼房外有 ...
- [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 分析: 根据题意,就是比较斜率大小 只看一段区间的话,那么这段区间能看见的楼房数量就是这 ...
- BZOJ 2957: 楼房重建
Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...
- [BZOJ 2957]楼房重建(线段树)
Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...
- bzoj 2957 楼房重建
http://www.elijahqi.win/archives/3479 Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经 ...
- BZOJ 2957 楼房重建-线段树
这个题最主要的是解决一个统计答案的问题. 首先我们注意到,只要考虑右区间的答案统计就好了. 记左区间的最大值为K,当前右区间为P. 我们把当前右区间又分成两个子区间,s1,s2. 那么如果s1的最大值 ...
- BZOJ 2957 楼房重建 (分块)
题解:分块,然后暴力维护每一块上升序列,注意是不是最长上升序列,二分查找第二块中大于第一块的最后一个上升序列中的数. 注意:每一块的大小不要用√n会T掉的,把块的大小设为500-600都可以(T了一页 ...
- 2957: 楼房重建
2957: 楼房重建 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1579 Solved: 754 [Submit][Status][Discu ...
最新文章
- phpstorm 点击方法跳转 后 返回 原来的位置
- Java NIO理解与使用
- BZOJ3048: [Usaco2013 Jan]Cow Lineup
- angularjs的一点总结
- Eclipse Collections随Java版本的演变
- c# 2.0 Factory的实现
- JSP的9个内置对象-response
- 【Sonarqube】编程规范-Sonarqube安装与IDEA下使用
- VMware 虚拟机桥接网络设置
- java addmonth_JAVA:int month = n.get(Calendar.MONTH)+1;为何要加1?
- java sap_SAP系统安装之JAVA
- matlab编写算法,Matlab 入门宝典 编程算法大全
- linux 解压war到root_解压war包的解压软件 war包可以用解压工具解开吗
- 系统规划与管理师——IT服务规划设计
- AD转换原理与方案设计(包含原理图、PCB和BOM表)
- 大数据收集系统架构图
- 洛谷4234最小差值生成树题解(最小生成树+LCT)
- Shiro反序列化漏洞检测及修复(工具分享)
- 3.10编写程序,计算并输出0到1000含有七或者7倍数的整数之和和及个数
- Gazebo + cartographer2D + velodyne多线雷达建图仿真
热门文章
- java 按格式输出时间_java格式输出时间
- mysql常见增量恢复方式_MySQL 全备份与增量备份 全恢复与增量恢复
- 码云nacos下载_nacos安装,配置以及持久化
- python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏
- vue weex 调用原生toast_vue-template-compiler 还能这么用
- matlab在测量数据处理中的应用,MATLAB在测量数据处理中的应用
- java fx配置_JavaFX系列-配置开发环境
- c语言实现图形界面实现四则运算,C语言实现四则运算的生成器
- 量子计算机与人脑接口,量子信息科学:量子计算机、隐形传物与人脑量子运算...
- 1.数字图像获取:1.4图像的数据结构与特征