题目 1788

爬山

查看题解 ↗GitHub ↗如何评测
题号
1788
时间限制
1000 ms
内存限制
256 MB
标签
动态规划
来源
信息学奥赛一本通 · 高手训练篇·五、动态规划(高手训练)

【题目描述】

给出一些山顶的坐标(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。

数据下载

题目 1788 的公开数据

正在读取文件列表…

常用命令

题目 1788 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。