PJ T4正解是什么啊,为什么我考场造了一组极限数据过了但洛谷上过不去
  • 板块灌水区
  • 楼主_LiWenX_
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/10/23 22:22
  • 上次更新2023/11/4 02:34:17
查看原帖
PJ T4正解是什么啊,为什么我考场造了一组极限数据过了但洛谷上过不去
481476
_LiWenX_楼主2021/10/23 22:22
#include<bits/stdc++.h>
using namespace std;
int n;
int c[200005];
struct node{
	int l,r;
}a[200005];
int f[200005],size;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
//	freopen("fruit.in","r",stdin);
//	freopen("fruit.out","w",stdout);
	cin>>n;
	c[0]=-1;
	for(int i=1;i<=n;i++){
		cin>>c[i];
		a[i].l=i-1,a[i].r=i+1;
	}
	int num=n;
	a[n].r=0;
	a[0].r=1;
	a[n+1].l=n;
	while(num){
		size=0;
		for(int i=a[0].r;i;i=a[i].r){
			if(c[a[i].l]!=c[i]){
				cout<<i<<' ';
				num--;
				f[++size]=i;
			}
		}
		for(int i=1;i<=size;i++){
			a[a[f[i]].l].r=a[f[i]].r;
			a[a[f[i]].r].l=a[f[i]].l;
		}
		cout<<endl;
	}
	return 0;
}
2021/10/23 22:22
加载中...