CP-Algorithms Library

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub cp-algorithms/cp-algorithms-aux

:heavy_check_mark: Shift of Sampling Points of Polynomial (verify/poly/sampling.test.cpp)

Depends on

Code

// @brief Shift of Sampling Points of Polynomial
#define PROBLEM "https://judge.yosupo.jp/problem/shift_of_sampling_points_of_polynomial"
#define CP_ALGO_MAXN 1 << 20
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include "cp-algo/math/poly.hpp"
#include <bits/stdc++.h>

using namespace std;
using namespace cp_algo::math;

const int mod = 998244353;
using base = modint<mod>;
using polyn = poly_t<base>;

// TODO: Use single-convolution approach
void solve() {
    int n, m, c;
    cin >> n >> m >> c;
    polyn::Vector a(n);
    copy_n(istream_iterator<base>(cin), n, begin(a));
    polyn A = polyn(a);
    polyn Q = polyn({1, -1}).pow(n, n + 1);
    A -= ((A * Q).div_xk(n).mod_xk(m) * Q.inv(m)).mod_xk(m).mul_xk(n);
    A = A.reverse(n + m);
    polyn shift = polyn({1, -1}).pow(c, n).shift(1).mulx(-1);
    auto R = (A.div_xk(n - 1) * shift) + (A.mod_xk(n - 1) * shift).div_xk(n - 1);
    R.div_xk(1).reverse(m).print(m);
}

signed main() {
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    t = 1;// cin >> t;
    while(t--) {
        solve();
    }
}
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, in resolve
    bundled_code = language.bundle(path, basedir=basedir)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 252, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 327, in update
    assert len(lines) == len(uncommented_lines)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Test cases

Env Name Status Elapsed Memory
g++ N_1_00 :heavy_check_mark: AC 136 ms 44 MB
g++ c_0_00 :heavy_check_mark: AC 243 ms 66 MB
g++ example_00 :heavy_check_mark: AC 22 ms 16 MB
g++ example_01 :heavy_check_mark: AC 22 ms 16 MB
g++ max_random_00 :heavy_check_mark: AC 351 ms 81 MB
g++ max_random_01 :heavy_check_mark: AC 352 ms 81 MB
g++ max_random_02 :heavy_check_mark: AC 345 ms 81 MB
g++ max_random_03 :heavy_check_mark: AC 347 ms 81 MB
g++ medium_random_00 :heavy_check_mark: AC 31 ms 18 MB
g++ medium_random_01 :heavy_check_mark: AC 31 ms 18 MB
g++ medium_random_02 :heavy_check_mark: AC 31 ms 18 MB
g++ medium_random_03 :heavy_check_mark: AC 31 ms 18 MB
g++ small_random_00 :heavy_check_mark: AC 22 ms 16 MB
g++ small_random_01 :heavy_check_mark: AC 22 ms 16 MB
g++ small_random_02 :heavy_check_mark: AC 22 ms 16 MB
g++ small_random_03 :heavy_check_mark: AC 22 ms 16 MB
g++ type0_random_00 :heavy_check_mark: AC 188 ms 67 MB
g++ type0_random_01 :heavy_check_mark: AC 194 ms 71 MB
g++ type0_random_02 :heavy_check_mark: AC 44 ms 22 MB
g++ type0_random_03 :heavy_check_mark: AC 154 ms 57 MB
g++ type1_random_00 :heavy_check_mark: AC 316 ms 76 MB
g++ type1_random_01 :heavy_check_mark: AC 270 ms 76 MB
g++ type1_random_02 :heavy_check_mark: AC 56 ms 23 MB
g++ type1_random_03 :heavy_check_mark: AC 277 ms 68 MB
g++ type2_random_00 :heavy_check_mark: AC 329 ms 77 MB
g++ type2_random_01 :heavy_check_mark: AC 346 ms 80 MB
g++ type2_random_02 :heavy_check_mark: AC 177 ms 47 MB
g++ type2_random_03 :heavy_check_mark: AC 190 ms 71 MB
g++ type3_random_00 :heavy_check_mark: AC 330 ms 77 MB
g++ type3_random_01 :heavy_check_mark: AC 345 ms 80 MB
g++ type3_random_02 :heavy_check_mark: AC 183 ms 47 MB
g++ type3_random_03 :heavy_check_mark: AC 192 ms 71 MB
Back to top page