时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

小Ho在玩一款类似俄罗斯方块的游戏。与原版俄罗斯方块不同的是,落下方块都是长度不一的横向长条,并且不能移动也不能变成竖直方向。

XXXXXX  <- 长度为6的横向长条。

第i个长条的最左端的格子坐标是Li,最右端的格子坐标是Ri;长条从很高的位置下落,中途遇到地面或者受到之前长条支撑,就会停在当前高度。

你能计算出每个长条最后停留的高度是多少吗? 直接停在地面上的长条高度视为1。

例如5个长条依次下落的位置是[10, 15], [7, 12], [12, 19], [1, 4], [1, 7],则每个长条最终停留的位置如下图所示:

5555555    33333333
222222
4444 111111

输入

第一行包含一个整数N。

以下N行每行包含两个整数Li, Ri。

对于30%的数据,1 ≤ N ≤ 1000, 1 ≤ Li ≤ Ri ≤ 1000

对于100%的数据, 1 ≤ N ≤ 100000, 1 ≤ Li ≤ Ri ≤ 100000

输出

输出N行,每行包含一個整数,代表第i个长条停留的高度。

样例输入
5
10 15
7 12
12 19
1 4
1 7
样例输出
1
2
3
1
3
#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn=;
int N,L,R,x,y,z;
struct Segment_Tree{
int maxx;
int tag;
}T[maxn<<];
void upd(int L,int R,int root){
if(x>R||y<L)return;
if(x<=L&&y>=R){ T[root].maxx=z; T[root].tag=z;return;}
int mid=(L+R)>>;
if(T[root].tag) T[root<<].maxx=T[root<<|].maxx=T[root<<].tag=T[root<<|].tag=T[root].tag,T[root].tag=;
upd(L,mid,root<<);
upd(mid+,R,root<<|);
T[root].maxx=max(T[root<<].maxx,T[root<<|].maxx);
}
int query(int L,int R,int root){
if(x>R||y<L) return ;
if(x<=L&&y>=R) return T[root].maxx;
int mid=(L+R)>>;
if(T[root].tag) T[root<<].maxx=T[root<<|].maxx=T[root<<].tag=T[root<<|].tag=T[root].tag,T[root].tag=;
return max(query(L,mid,root<<),query(mid+,R,root<<|));
}
int main(){
scanf("%d",&N);
for(int i=;i<=N;i++){
scanf("%d%d",&x,&y);
int temp=query(,,);
z=temp+;
printf("%d\n",z);
upd(,,);
}
return ;
}

HihoCoder1665方块游戏([Offer收割]编程练习赛40)(线段树)的更多相关文章

  1. [Offer收割]编程练习赛40

    不到一个小时AK,虽然是VP的,舒服,第一次.都简单的一比,没什么可说的. 查找三阶幻方 #pragma comment(linker, "/STACK:102400000,10240000 ...

  2. HihoCoder1664 01间隔方阵([Offer收割]编程练习赛40)(DP)

    给定一个NxM的01矩阵,小Hi希望从中找到一个01间隔的子方阵,并且方阵的边长越大越好. 例如对于 0100100 1000101 0101010 1010101 0101010 在右下角有一个4x ...

  3. HihoCoder1663双阶乘的末尾数字([Offer收割]编程练习赛40)(暴力||数学)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定正整数x和k,判断是否存在正整数1 ≤ y ≤ x使得x与y同奇偶且(x!!)/(y!!)的个位数字为k. 其中x!! ...

  4. Hihocoder1662 : 查找三阶幻方([Offer收割]编程练习赛40)(暴力)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N x M的矩阵,请你数一数其中有多少个3 x 3的子矩阵可以构成三阶幻方? 如果3 x 3的矩阵中每一行.每一列 ...

  5. hihocoder [Offer收割]编程练习赛4

    描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...

  6. hihocoder [Offer收割]编程练习赛61

    [Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...

  7. [Offer收割]编程练习赛46

    [Offer收割]编程练习赛46赛后题解 A.AEIOU 分析

  8. ACM学习历程—Hihocoder [Offer收割]编程练习赛1

    比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...

  9. HihoCoder1654: XY游戏([Offer收割]编程练习赛39)(好久没写搜索)(已经超级简短了)

    描述 如下图所示,在4x4的棋盘上有X和Y两种棋子各若干枚:O表示空格. OXXY YOOX XOOY XOXX 小Hi每次可以选择任意一枚棋子,将它移动到上下左右相邻的空格中. 小Hi想知道最少移动 ...

随机推荐

  1. Mysql的学习研究

    2017年5月16日11:26:17 从今天开始过一遍数据库的基础教程,加油!!!!! 看了之后对一些基础知识有了理解,加油... 笔记: 2017年5月16日11:35:46mysql的基础教程1. ...

  2. Android 4.4(KitKat)中apk包的安装过程

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/25542011 事实上对于apk包的安装.4.4和之前版本号没大的区别. Android中a ...

  3. 【原创】Hibernate自动生成(1)

    本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...

  4. [转]为 windows cmd 设置代理

    为 windows cmd 设置代理 转自:http://blog.csdn.net/lovelyelfpop/article/details/69586366 通过cmd命令行执行某些命令,如果这些 ...

  5. 九度OJ 1195:最长&最短文本 (搜索)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3144 解决:1156 题目描述: 输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输 ...

  6. 【python】-- pymsql 外键

    pymsql 外键 本片是以上一篇pymsql操作MySQL的补充,主要演示pymysql的外键操作使用 一.一对一外键关联 1.示意图 2.一对一外键关联示例 2.1.创建表结构,插入数据 from ...

  7. centos7安装 go

    1    下载 - Golang中国 2:解压 tar -xzf go1.0.3.linux-amd64.tar.gz 3:环境 变量 : 把 /usr/local/go/bin 增加到 PATH 环 ...

  8. You are using pip version 8.1.2, however version 9.0.1 is available.

    [root@localhost ~]# pip install virtualenvmapperCollecting virtualenvmapper  Could not find a versio ...

  9. eclispse + tomcat 启动是不加载项目的解决办法

    有一个java spring的项目一直好好的,突然一天不能启动了.eclipse的console没有报任何错误,相关的server配置也没有问题,经过一翻折腾顺便还把eclipse从indigo升级到 ...

  10. 如何在JSTL中获取数组或者list对象的索引值(index)

    <c:forEach items="${productList}" var="products" varStatus="status" ...