Пожалуйста, подпишитесь на официальный канал Codeforces в Telegram по ссылке https://t.me/codeforces_official. ×

Блог пользователя lrvideckis

Автор lrvideckis, история, 6 месяцев назад, По-английски

I came across this paper

On Finding Lowest Common Ancestors: Simplification and Parallelization by Baruch Schieber, Uzi Vishkin April, 1987

so naturally I tried to code golf it

lca https://judge.yosupo.jp/submission/188189

rmq https://judge.yosupo.jp/submission/188190

edit: minor golf

  • Проголосовать: нравится
  • +90
  • Проголосовать: не нравится

»
6 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Cool! This algorithm seems to be almost the same size of the one described here, although maybe a bit slower.

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    rip

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    although looking at the test cases, this approach does worse on the small width query where the usual 4-russians approach would have an advantage: you hit the case with less operations

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    on cses rmq: your implementation: .10s, my implementation: 0.12s

  • »
    »
    5 часов назад, # ^ |
    Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

    revisiting this, I code golfed it another way, and now it is a bit faster

    https://judge.yosupo.jp/submission/222465

»
6 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Kudos for a clean, neat code and usage of C++20 features!

»
6 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by lrvideckis (previous revision, new revision, compare).