Library-Python

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

View the Project on GitHub Rin204/Library-Python

expansion/convolution/xor_convolution_global_mod.py

Code

MOD = 998244353


def xor_convolution_global_mod(A, B):
    n = max(len(A), len(B))
    l = (n - 1).bit_length()
    n = 1 << l
    A += [0] * (n - len(A))
    B += [0] * (n - len(B))

    def f(A):
        h = 1
        while h < len(A):
            for i in range(0, len(A), h * 2):
                for j in range(i, i + h):
                    x = A[j]
                    y = A[j + h]
                    A[j] = (x + y) % MOD
                    A[j + h] = (x - y) % MOD
            h *= 2

    f(A)
    f(B)
    C = [a * b % MOD for a, b in zip(A, B)]
    f(C)
    inv = pow(n, MOD - 2, MOD)
    return [c * inv % MOD for c in C]
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.4/x64/lib/python3.11/site-packages/onlinejudge_verify/documentation/build.py", line 81, in _render_source_code_stat
    bundled_code = language.bundle(
                   ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.4/x64/lib/python3.11/site-packages/onlinejudge_verify/languages/python.py", line 108, in bundle
    raise NotImplementedError
NotImplementedError
Back to top page