cpplib

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

View the Project on GitHub morioprog/cpplib

:warning: 乱数生成器
(util/randomnumbergenerator.hpp)

概要

乱数生成器.

計算量

$O(1)$

使用例

Code

/**
* @brief 乱数生成器
* @docs docs/util/randomnumbergenerator.md
*/

struct RandomNumberGenerator {
    mt19937 mt;
    RandomNumberGenerator()
        : mt(chrono::steady_clock::now().time_since_epoch().count()) {}
    int operator()(int a, int b) {  // [a, b)
        uniform_int_distribution<int> dist(a, b - 1);
        return dist(mt);
    }
    int operator()(int b) {  // [0, b)
        return (*this)(0, b);
    }
};
#line 1 "util/randomnumbergenerator.hpp"
/**
* @brief 乱数生成器
* @docs docs/util/randomnumbergenerator.md
*/

struct RandomNumberGenerator {
    mt19937 mt;
    RandomNumberGenerator()
        : mt(chrono::steady_clock::now().time_since_epoch().count()) {}
    int operator()(int a, int b) {  // [a, b)
        uniform_int_distribution<int> dist(a, b - 1);
        return dist(mt);
    }
    int operator()(int b) {  // [0, b)
        return (*this)(0, b);
    }
};
Back to top page