“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——I.字典序【双向指向 & 优化技巧】

题目传送门


在这里插入图片描述


题解

  • 遍历数组,根据相邻两个数的大小关系确定相邻的字典序大小。
  • 设当前待判断位置 i i i,那么 [ 0 , i − 1 ] [0, i-1] [0,i1] 的字典序关系已经确定。
  • n e x t [ i ] next[i] next[i] 表示 按照字典序大小顺序的下一个元素index。
  • p r e [ i ] pre[i] pre[i] 表示 按照字典序大小关系,上一个不等于 a r r [ i ] arr[i] arr[i] 的元素index。这里跳过了相同的元素是很必要的,之后就会发现。
  • 情况一: a r r [ i ] = = a r r [ i − 1 ] arr[i] == arr[i-1] arr[i]==arr[i
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值