void pick(vector<int> a, int n, int m) {     for (int i = 0; i < m; i++) {         int j = rand() % (n - i) + i;         swap(a[i], a[j]);     } } 这样应该可以吧,第一次1/n,第二次1/(n - 1)* (n - 1)/n = 1/n以此类推