raybbian's CP Algos

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

View the Project on GitHub raybbian/comp-programming

:warning: algo/ds/pbds.h

Depends on

Code

#pragma once
#include "algo/common.h"

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

namespace algo::ds {

/*
 * find_by_order(k) - returns iterator to kth largest element (0-indexed) or an
 * iterator to end if it doesn't exist
 *
 * order_of_key(x) - returns the number of elements in the set strictly smaller
 * than x
 */
template <typename T>
using ordered_set =
    __gnu_pbds::tree<T, __gnu_pbds::null_type, std::less<T>,
                     __gnu_pbds::rb_tree_tag,
                     __gnu_pbds::tree_order_statistics_node_update>;

} // namespace algo::ds
#line 2 "algo/common.h"
#ifndef PREPROCESS
#include <bits/stdc++.h>
#endif

namespace algo {}

#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#line 3 "algo/ds/pbds.h"

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

namespace algo::ds {

/*
 * find_by_order(k) - returns iterator to kth largest element (0-indexed) or an
 * iterator to end if it doesn't exist
 *
 * order_of_key(x) - returns the number of elements in the set strictly smaller
 * than x
 */
template <typename T>
using ordered_set =
    __gnu_pbds::tree<T, __gnu_pbds::null_type, std::less<T>,
                     __gnu_pbds::rb_tree_tag,
                     __gnu_pbds::tree_order_statistics_node_update>;

} // namespace algo::ds
Back to top page