首页 > 其他 > 详细

LOJ10121 与众不同

时间:2019-06-30 12:30:47      阅读:102      评论:0      收藏:0      [点我收藏+]

last[i] remember the last place where i appeared last time
st[i] 记录以i结尾的最长完美序列的起点

  1. 处理\(last[i]\);
  2. 维护\(st[i]\)转移:$ st[i] = max(st[i-1],last[a[i]]+1) $
  3. 所以\(f[i][0]=i-st[i]+1\)
  4. 所以可以预处理\(RMQ\)
  5. 对每一次询问的\(L,R寻找其pos(pos的左侧所有的st[i]<l,右侧都 >=l)\)
  6. 所以 $ answer = max(pos-l,RMQ(pos,r))$
    p.s. 因为st是单调的,所以可以用BS找pos

LOJ10121 与众不同

原文:https://www.cnblogs.com/yangxuejian/p/11109297.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!