信息
- ID
- 1597
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
选手 i 若可能获得返程区间奖,右侧不能存在某个 j>i 满足 Pj<Pi:选手 j 去程更慢却更早完成往返,返程用时必然严格短于选手 i。
反过来,若不存在这样的 j,可以在不改变去程和总排名的前提下,把总排名更差者的完赛时刻整体推迟、把更早出发者的出发时刻整体提前,从而让选手 i 的返程用时最短,所以该条件也充分。因此答案恰是排列中“严格小于其右侧所有元素”的位置数。
从右向左维护当前最小值,遇到更小的 Pi 就计入答案并更新最小值;每组时间复杂度为 O(N),空间复杂度为 O(1)(不计输入数组也可边存边扫)。