怎样生成一棵随机的树

学术版

[了解一下](https://www.luogu.org/discuss/show?postid=11410)
by lolte @ 2018-07-22 10:19:08


但不会用
by ylxmf2020 @ 2018-07-22 10:20:34


哪位dalao的小号
by ylxmf2020 @ 2018-07-22 10:20:54


```cpp for(int i(2);i<=n;++i){ printf("%d %d\n",i,rand()%(i-1)+1); } ```
by ygsldr @ 2018-07-22 10:23:22


```cpp #include <bits/stdc++.h> #define N 1000000+110 using namespace std; int n,a[N]; int main() { freopen("data.out","w",stdout); srand((unsigned)time(NULL)); n=1+rand()%1000000; printf("%d\n",n); for(register int i=1;i<=n;i++) a[i]=i; swap(a[1],a[n]); for(register int i=1;i<n;i++) { int v=1+rand()%(n-i),u=n-i+1+rand()%i; printf("%d %d\n",a[u],a[v]); swap(a[v],a[n-i]); } return 0; } ``` 大概就这样吧QwQ
by DimensionTripper @ 2018-07-22 10:32:41


|