【基础】随机数mt19937

默认生成一个uint_32。

        mt19937 rnd(time(0));
        uint mx = 0, mi = -1;
        printf("n=%d\n", n);
        for(int i = 1; i <= n; ++i) {
            uint res = rnd();
            cmax(mx, res);
            cmin(mi, res);
        }
        printf("mi=%u mx=%u\n", mi, mx);
//        n=200000000
//        mi=2 mx=4294967253
        mt19937_64 rnd(time(0));
        ull mx = 0, mi = -1;
        printf("n=%d\n", n);
        for(int i = 1; i <= n; ++i) {
            ull res = rnd();
            cmax(mx, res);
            cmin(mi, res);
        }
        printf("mi=%llu mx=%llu\n", mi, mx);
//        n=200000000
//        mi=48815069219 mx=18446744008811123758
上一篇:CF1456部分题解


下一篇:第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京)J Just Another Game of Stones ——线段树区间更新小于x的数