1 条题解
-
1
我们可以通过最后一个巨人的信息来推断所有牛的高度。具体步骤如下:
- 从最后一个巨人开始,根据h[n]知道它在所有巨人中排第h[n]+1小。
- 确定最后一个巨人的高度后,移除它,然后计算前一个巨人的高度。
- 重复以上过程:每次根据当前巨人的信息,确定其在剩余巨人中排第h[i]+1小的高度。
- 按照这个顺序,依次确定每一个巨人的高度,直到所有巨人的高度都确定。
这样就能逐步推算出所有巨人的高度。 初始化每个身高的位置还没被选择的时候都是1。 使用树状数组维护前缀和,每当当前的身高被选择,我们就要去掉这个身高进行-1操作,然后进行统计前缀和的时候判断是否前面有k个巨人,这里可以进行二分查找前缀和的值为k的值,最后将结果输出。
- 1
信息
- ID
- 812
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 24
- 已通过
- 11
- 上传者