模仿 ranodm_shuffle 的写法写了一个shuffle,然后发现下面两种当中第一种不能过题,但第二种能
namespace rad
{
mt19937_64 R(time(0));
inline int random(int l,int r)
{
uniform_int_distribution<int> distribution(l,r);
return distribution(R);
}
}using namespace rad;
inline void Shuffle(int *P,int len){for(int i=2;i<=len;i++) swap(P[i],P[random(1,i)]);}
inline void Shuffle(int *P,int len){for(int i=2;i<=len;i++) swap(P[i],P[(rand()%i)+1]);}
所以是因为前者的随机不均匀吗/yiw