hdu_2871
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<set>
#include<cmath>
#define lson r,m,rt<<1
#define rson m+1,r,rt<<1|1
const int maxn=55555;
using namespace std;
int lsum[maxn<<2],rsum[rt<<2],sum[rt<<2];
void pushUp(int rt,int m)
{
rsum[rt]=rsum[rt<<1|1];
lsum[rt]=lsum[rt<<1];
if(lsum[rt]==(m-m>>1))
lsum[rt]=lsum[rt]+lsum[rt<<1|1];
if(rsum[rt]==m>>1)
rsum[rt]=rsum[rt]+rsum[rt<<1];
sum[rt]=max(max(rsum[rt],lsum[rt]),max(max(sum[rt<<1],sum[rt<<1|1]),rsum[rt]+lsum[rt<<1|1]));
}
build(int l,int r,int rt)
{
if(l==r)
{
lsum[rt]=rsum[rt]=sum[rt]=1;
return ;
}
int m=(l+m)>>1;
build(lson);
build(rson);
pushUp(rt,r-l+1);
}
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
build(1,n,1);
for(int i=0;i<m;i++){
char str[10];
int d;
scanf("%s",str);
if(str[0]=='N')
update()
}
}
return 0;
}
hdu_2871的更多相关文章
- HDU_2871 线段树+vecor的中间插入和删除使用
本来这个题目就是个合并区间的题,就跟Hotel一样,要插入一段,则找左孩子 合并后的中间区间 右孩子,但是比较恶心的是,他需要实时得到某一段的起终点,或者某个点在第几个段里面,我想过在线段树里面加入几 ...
随机推荐
- 8个超实用的Java测试工具和框架
Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environme ...
- Yocto tips (19): Yocto SDK Toolchian的使用
在使用之前须要先source env,导入各种环境变量(注意将路径变更成你自己的): source ../qt5_sdk/environment-setup-cortexa9hf-vfp-neon-p ...
- Python——异常基础
异常基础 在Python中,异常会依据错误自己主动地被触发.也能由代码触发和截获.异常由五个语句处理: 1.[try/except]:捕捉由Python或你引起的异常并恢复. 2.[try/final ...
- NOIP2017提高组模拟赛5 (总结)
NOIP2017提高组模拟赛5 (总结) 第一题 最远 奶牛们想建立一个新的城市.它们想建立一条长度为N (1 <= N <= 1,000,000)的 主线大街,然后建立K条 (2 < ...
- 安装Oracle RAC 11g
1.Oracle Enterprise Linux 和 iSCSI 上构建 Oracle RAC 11g 集群 2.Oracle RAC 的所有共享磁盘存储将基于 iSCSI,iSCSI 使用在第三个 ...
- yum概述配置
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...
- Gradle学习总结
Gradle学习系列 (1). Gradle快速入门 (2). 创建Task的多种方法 (3). 读懂Gradle语法 (4). 增量式构建 (5). 自定义Property (6). 使用java ...
- jq弹窗(获取页面宽高,滚轮高度,始终居中)
jq写一个弹窗,效果如上图所示, 点击按钮弹窗弹出,右上角关闭. 弹窗始终显示在页面中间,无论放大缩小窗口,滚轮滚动. 代码如下: html: <br><br><br&g ...
- 51nod 1632 B君的连通
题目: 这题看起来难,其实这么多概率啥的都是唬人的.甚至连快速幂都不用就可以解. 解法: n个节点,n-1条边,期望会有一半的边被炸毁(因为总体概率就是50%). 即(n-1)/2条边被炸毁,这 ...
- javascript中的正则示例
// 方式一var obj_re = new RegExp("\d+","gi"); //g 全局,i 不区分大小写obj_re.test("fasf ...