比赛的时候正在从绍一去衢二的车上,笔记本没网又没电(不过就算有我估计也不会打就是了)
咕咕
const int N=(1<<10)+5;
int a[N][N],n;
void solve(int x,int y,int p){
if(p==1)return a[x][y]=1,void();
p>>=1;
solve(x+p,y,p),solve(x,y+p,p),solve(x+p,y+p,p);
}
int main(){
cin>>n,n=(1<<n);
solve(1,1,n);
fp(i,1,n)fp(j,1,n)printf("%d%c",a[i][j]," \n"[j==n]);
return 0;
}
咕咕
const int N=1e5+5;
int a[N],b[N],nxt[N],Pre[N],vis[N],n;
inline void del(R int x){Pre[nxt[x]]=Pre[x],nxt[Pre[x]]=nxt[x];}
int main(){
scanf("%d",&n);
fp(i,1,n)scanf("%d",&a[i]),b[a[i]]=i,Pre[i]=i-1,nxt[i]=i+1;
fd(i,n,1)if(!vis[i]&&nxt[b[i]]!=n+1){
printf("%d %d ",i,a[nxt[b[i]]]),vis[i]=vis[a[nxt[b[i]]]]=1;
del(b[i]),del(nxt[b[i]]);
}
return 0;
}
原文:https://www.cnblogs.com/yuanquming/p/11218881.html