题库/Y1313

#Y1313. 爬山

    传统题 难度: 省选 标签>一本通二维凸包线段树的建树、点改与区间查询有向无环图与依赖关系状态定义、转移与边界
时间限制1000 ms
内存限制256 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1313 · 爬山

退出在线编程模式
省选 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制256 MiB
通过率—0 / 0 次提交

题目描述

给出一些山顶的坐标(xi,yix_i,y_i),我们认为山是这些山顶构成的一段折线ll。 每到一个山顶以后,你会左右张望找到能看到的最高的山顶(一个山顶PP能被他们看到当且仅当连接你与PP的线段与ll只在你和PP上相交),并向到目前为止你看到过的最高的山顶那个方向继续前进(爬到左边相邻的一个山顶或右边相邻的一个山顶)。 爬到最高的山顶后你会停下来。 对于每个山顶,求出若你选择此处作为爬山起点的话,你会爬过几个山顶(经过多次算多次)。 注意:yy坐标相同情况下选取xx坐标最大的为最高山顶。

输入

第一行一个整数nn表示山顶的数量。 接下来的nn行,每行两个整数xi,yix_i,y_i。保证xix_i单调递增。

输出

nn行,每行一个整数表示从(xi,yix_i,y_i)出发的答案。

输入样例

4
0 10
1 5
2 0
3 6

输出样例

0
1
4
3

提示

【数据规模】 对于30%的数据,n≤100n≤100。 对于60%的数据,n≤5×104n≤5×10^4。 对于100%的数据,1≤n≤5×105,0≤xi,yi≤1061≤n≤5×10^5,0≤x_i,y_i≤10^6。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共7个测试点,非原站或官方原始数据。总分100分。