algo

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

View the Project on GitHub kuhaku-space/algo

:heavy_check_mark: Stern-Brocot 木 (lib/tree/stern_brocot_tree.hpp)

Depends on

Verified with

Code

#include "template/template.hpp"

/**
 * @brief Stern-Brocot 木
 *
 */
struct stern_brocot_tree {
    constexpr stern_brocot_tree() : pl(0), ql(1), pr(1), qr(0) {}
    constexpr stern_brocot_tree(std::uint64_t pl, std::uint64_t ql, std::uint64_t pr,
                                std::uint64_t qr)
        : pl(pl), ql(ql), pr(pr), qr(qr) {}

    constexpr std::pair<std::uint64_t, std::uint64_t> get() const {
        return std::make_pair(pl + pr, ql + qr);
    }

    constexpr stern_brocot_tree get_left() const {
        auto [p, q] = get();
        return stern_brocot_tree(pl, ql, p, q);
    }
    constexpr stern_brocot_tree get_right() const {
        auto [p, q] = get();
        return stern_brocot_tree(p, q, pr, qr);
    }

  private:
    std::uint64_t pl, ql, pr, qr;
};
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/resolver.py", line 291, 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 242, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 479, in update
    self._resolve(pathlib.Path(included), included_from=path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 286, in _resolve
    raise BundleErrorAt(path, -1, "no such header")
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: template/template.hpp: line -1: no such header
Back to top page