Neterukun's Library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub Neterukun1993/Library

:heavy_check_mark: misc/mo_algorithm.py

Verified with

Code

SIZE = 256


def mo_algorithm(n, q, intervals, add1, add2, rem1, rem2, get):
    orders = [((l // SIZE) << 40) + (r << 20) + i for i, (l, r) in enumerate(intervals)]
    orders.sort()
    answers = [0] * q
    nl, nr = 0, 0

    for order in orders:
        i = order & ((1 << 20) - 1)
        l, r = intervals[i]
        while nl > l:
            nl -= 1
            add1(nl)
        while nr < r:
            add2(nr)
            nr += 1
        while nl < l:
            rem1(nl)
            nl += 1
        while nr > r:
            nr -= 1
            rem2(nr)
        answers[i] = get()
    return answers
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/python.py", line 96, in bundle
    raise NotImplementedError
NotImplementedError
Back to top page