bzoj5007: TCP协议
Description
Input
Output
#include<bits/stdc++.h>
const int N=;
char buf[N*],*ptr=buf;
int _(){
int x=;
while(*ptr<)++ptr;
while(*ptr>)x=x*+*ptr++-;
return x;
}
int n,ts[N],qs[N][],tp=,vs[N];
int _x,_a,_p;
int min(int a,int b){return a<b?a:b;}
struct node{
node*lc,*rc;
int L,R,M;
int mn,a;
void add(int x){
mn+=x,a+=x;
}
void dn(){
if(a){
lc->add(a);
rc->add(a);
a=;
}
}
void up(){
mn=min(lc->mn,rc->mn);
}
void add(){
if(_x<=L)return add(_a);
dn();
if(_x<=M)lc->add();
rc->add();
up();
}
int at(){
if(L==R)return mn;
dn();
return (_x<=M?lc:rc)->at();
}
bool find(){
if(mn>=_a)return ;
if(L==R)return _p=R+,;
dn();
if(_x>M&&rc->find())return ;
return lc->find();
}
}ns[N*],*np=ns,*rt;
node*build(int L,int R){
node*w=np++;
w->L=L,w->R=R;
if(L<R){
int M=w->M=L+R>>;
w->lc=build(L,M);
w->rc=build(M+,R);
}
return w;
}
int $(int x){
return std::lower_bound(ts,ts+tp,x)-ts;
}
int main(){
fread(buf,,sizeof(buf),stdin);
n=_();
ts[tp++]=-;
for(int i=;i<=n;++i){
qs[i][]=_();
qs[i][]=_();
if(qs[i][]==)ts[tp++]=qs[i][]=_();
else ts[tp++]=qs[i][];
}
std::sort(ts,ts+tp);
rt=build(,tp-);
vs[]=-;
for(int i=;i<=n;++i){
if(qs[i][]==){
_x=$(qs[i][]);
vs[_x]=qs[i][];
_a=,rt->add();
}else if(qs[i][]==){
_x=$(qs[i][]);
_a=-,rt->add();
}else{
_x=$(qs[i][]);
_a=rt->at();
_p=;
rt->find();
printf("%d\n",vs[_p]);
}
}
return ;
}
bzoj5007: TCP协议的更多相关文章
- TCP协议学习
一.TCP参考模型 VS OSI参考模型 二.TCP/IP分层模型的四个协议层分别完成以下的功能 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议.实际上TCP/IP标准 ...
- 【转】TCP协议
TCP是什么? TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的. 基于IP的传输层协议.TCP在IP报文的协议号是6.TCP是一 ...
- 闲来无事,写个基于TCP协议的Socket通讯Demo
.Net Socket通讯可以使用Socket类,也可以使用 TcpClient. TcpListener 和 UdpClient类.我这里使用的是Socket类,Tcp协议. 程序很简单,一个命令行 ...
- 简单测试nginx1.90做TCP协议负载均衡的功能
最近工作中需要做TCP层面的负载均衡,以前网站用的反向代理nginx只支持应用层的负载均衡,对于TCP协议是无能为力的,需要使用LVS(linux虚拟服务器). LVS的特点是高性能和极复杂的配置.对 ...
- TCP协议
TCP是一个面向连接的协议,在发送数据之前,必须在双方之间建立一条连接. TCP首部 TCP数据封装在IP数据报中 TCP包首部 下面简单说明部分字段的作用: 端口号:通讯双方由IP地址和端口号标识. ...
- TCP协议的三次握手和四次挥手
暂时需要的信息有: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) : 在连接建立时用来同步序号.当SYN= ...
- TCP协议三次握手和四次挥手
http://www.cnblogs.com/rootq/articles/1377355.html TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对 ...
- ZeroMQ接口函数之 :zmq_tcp – 使用TCP协议的ØMQ网络单播协议
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-tcp zmq_tcp(7) ØMQ Manual - ØMQ/4.1.0 Name zmq_t ...
- C#网络编程之---TCP协议的同步通信(二)
上一篇学习日记C#网络编程之--TCP协议(一)中以服务端接受客户端的请求连接结尾既然服务端已经与客户端建立了连接,那么沟通通道已经打通,载满数据的小火车就可以彼此传送和接收了.现在让我们来看看数据的 ...
随机推荐
- 【转】matlab的textscan与textread区别
1.基本语法textscan的基本语法是:C = textscan(fid, 'format') C = textscan(fid, 'format', N) 其中fid为fopen命令返回的文件标识 ...
- SEO:关键词布局
- NetCore平台下使用RPC框架Hprose
NetCore下使用RPC框架Hprose https://www.jianshu.com/p/c903fca44d5d Hprose是国内非常优秀的RPC框架,和其它RPC框架比较起来,其它框架一般 ...
- Linux 进程管理 笔记
https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.htmlLinux 进程管理剖析 进程可以是短 ...
- C++学习(十)(C语言部分)之 分支语句
#include<stdio.h> // std 标准 io ----> input output 输入 输出 printf scanf getchar ...... #i ...
- STM32F4的sct文件理解
原文地址http://blog.sina.com.cn/s/blog_898f36590100ya2l.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- Python--函数对象@命名空间与作用域@包函数@装饰器@迭代器@内置函数
一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(Firs ...
- 【BZOJ1452】【JSOI2009】count
暴力出奇迹……原题: 图片题面好评(图片样例差评 我最开始的思路: 容斥,变成每次询问((1,1),(x,y))这个矩阵中颜色为c的个数,然后三维偏序!cdq分治! 但是2e5的询问好像并不大丈夫?乘 ...
- jsp页面继承
功能类似 django template 中的 extends 功能 使用 1.需要下载rapid-core-4.0.jar 导入到web-inf下lib中 下载地址 http://w ...
- Top PG Clustering HA Solutions for PostgreSQL
转自:https://severalnines.com/blog/top-pg-clustering-ha-solutions-postgresql If your system relies on ...