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: Lowest Common Ancestor (verify/tree/lca.test.cpp)

Depends on

Code

// @brief Lowest Common Ancestor
#define PROBLEM "https://judge.yosupo.jp/problem/lca"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include <iostream>
//#include "blazingio/blazingio.min.hpp"
#include "cp-algo/tree/hld.hpp"
#include <bits/stdc++.h>

using namespace std;
using namespace cp_algo::graph;

void solve() {
    int n, q;
    cin >> n >> q;
    graph g(n);
    cp_algo::big_vector<edge_index> p(n);
    p[0] = -1;
    for(int i = 1; i < n; i++) {
        node_index v;
        cin >> v;
        p[i] = g.add_edge(v, i);
    }
    heavy_light hld(g, 0, &p);
    for(int i = 0; i < q; i++) {
        node_index u, v;
        cin >> u >> v;
        cout << hld.lca(u, v) << '\n';
    }
}

signed main() {
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    int 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++ almost_line_00 :heavy_check_mark: AC 175 ms 29 MB
g++ almost_line_01 :heavy_check_mark: AC 194 ms 29 MB
g++ binary_00 :heavy_check_mark: AC 416 ms 29 MB
g++ binary_01 :heavy_check_mark: AC 452 ms 29 MB
g++ binary_02 :heavy_check_mark: AC 385 ms 29 MB
g++ example_00 :heavy_check_mark: AC 5 ms 4 MB
g++ line_00 :heavy_check_mark: AC 116 ms 26 MB
g++ line_01 :heavy_check_mark: AC 132 ms 28 MB
g++ line_02 :heavy_check_mark: AC 70 ms 6 MB
g++ line_03 :heavy_check_mark: AC 56 ms 27 MB
g++ line_04 :heavy_check_mark: AC 52 ms 22 MB
g++ max_line_00 :heavy_check_mark: AC 142 ms 29 MB
g++ max_line_01 :heavy_check_mark: AC 157 ms 29 MB
g++ max_line_02 :heavy_check_mark: AC 142 ms 29 MB
g++ max_random_00 :heavy_check_mark: AC 283 ms 29 MB
g++ max_random_01 :heavy_check_mark: AC 269 ms 29 MB
g++ max_random_02 :heavy_check_mark: AC 248 ms 29 MB
g++ path_graph_root_centroid_00 :heavy_check_mark: AC 133 ms 29 MB
g++ path_graph_root_centroid_01 :heavy_check_mark: AC 142 ms 29 MB
g++ path_graph_root_centroid_02 :heavy_check_mark: AC 134 ms 29 MB
g++ random_00 :heavy_check_mark: AC 189 ms 26 MB
g++ random_01 :heavy_check_mark: AC 214 ms 28 MB
g++ random_02 :heavy_check_mark: AC 94 ms 6 MB
g++ random_03 :heavy_check_mark: AC 93 ms 27 MB
g++ random_04 :heavy_check_mark: AC 80 ms 22 MB
Back to top page