并查集
意义是当前这个数可以写成什么
#include<bits/stdc++.h>
using namespace std;
const int N=1111111;
int nt[N];
int find(int x)
{
if(x!=nt[x])nt[x]=find(nt[x]);
return nt[x];
}
int main()
{
int n; cin>>n; int q;
for(int i=1;i<N;i++)nt[i]=i;
for(int i=1;i<=n;i++)
{
cin>>q;
q=find(q);
cout<<q<<" ";
nt[q]=q+1;
}
}