This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub morioprog/cpplib
#include "util/randomnumbergenerator.hpp"
乱数生成器.
$O(1)$
RandomNumberGenerator rng
rng(b)
rng(a, b)
/** * @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); } };